Code and container of system for preparing a beverage or foodstuff

ABSTRACT

A container for a beverage or foodstuff preparation machine, the container for containing beverage or foodstuff material and including a code encoding preparation information. The code includes a reference portion and a data portion. The reference portion has reference units defining a reference liner, and the data portion has a data unit. The data unit is arranged on an encoding line D that intersects the reference line r, and the data unit is arranged a distance d from the intersection as a variable to at least partially encode a parameter of the preparation information. The encoding line D is circular and is arranged with a tangent thereto orthogonal the reference liner at the intersection point. The reference units are arranged with a configuration defining a reference point from which the reference line r extends.

PRIORITY CLAIMS

This application is a continuation of U.S. application Ser. No.16/078,921 filed Aug. 22, 2018, which is a National Stage ofInternational Application No. PCT/EP2017/054157 filed Feb. 23, 2017,which claims priority to European Patent Application No. 16156864.7filed Feb. 23, 2016, European Patent Application No. 16156870.4 filedFeb. 23, 2016, and European Patent Application No. 16196877.1 filed Nov.2, 2016, the entire contents of which are incorporated herein byreference.

FIELD OF THE INVENTION

The described aspects and embodiments relate generally to beverage orfoodstuff preparation systems which prepare a beverage or foodstuff fromcontainers such as coffee capsules, and in particular to codes arrangedon the container that encode preparation information for reading by amachine of said system.

BACKGROUND

Increasingly, systems for the preparation of a beverage or foodstuff areconfigured to operate using a container that comprises a single-servingof a beverage or foodstuff material, e.g. coffee, tea, ice cream,yoghurt. A machine of the system may be configured for preparation byprocessing said material in the container, e.g. with the addition offluid, such as milk or water, and the application of mixing thereto.Such a machine is disclosed in PCT/EP2013/072692. Alternatively, themachine may be configured for preparation by at least partiallyextracting an ingredient of the material from the container, e.g. bydissolution or brewing. Examples of such machines are provided in EP2393404 A1, EP 2470053 A1, WO 2009/113035.

The increased popularity of these machines may be partly attributed toenhanced user convenience compared to a conventional preparationmachine, e.g. compared to a manually operated stove-top espresso makeror cafetiére (French press).

It may also be partly attributed to an enhanced preparation process,wherein preparation information specific to the container and/ormaterial therein is: encoded in a code on the container; read by themachine; decoded; and used by the machine to optimise the preparationprocess. In particular, the preparation information may compriseoperational parameters of the machine, such as, for example but notexclusively: fluid temperature; preparation duration; mixing conditions;and fluid volume.

Accordingly, there is a need to code preparation information on thecontainer. Various codes have been developed. An example is provided inEP 2594171 A1, wherein a periphery of a flange of a capsule comprises acode arranged thereon. The code comprises a sequence of symbols that canbe printed on the capsule during manufacture. A drawback of such a codeis that its encoding density is limited, i.e. the amount of preparationinformation that it can encode is limited. A further drawback is thatthe code is highly visible and may be considered aestheticallydispleasing. EP2525691 A1 discloses a container with a 2D barcode, whichhas a higher albeit limited encoding density.

Thus in spite of the considerable effort already invested in thedevelopment of said systems further improvements are desirable.

SUMMARY

An object of the present disclosure is to provide a container of abeverage or foodstuff system that comprises a code that has a highencoding density. It would be advantageous to provide such a code thatis less visible than the prior art. It would be advantageous to providesuch a code that is un-complicated such that it does not comprise alarge number of symbols. It would be advantageous to provide such a codethat can suitably encode parameters of the preparation information thathave a wide numerical range. It would be advantageous to provide such acode that is cost-effective to produce and that can be read andprocessed by a cost-effective code processing subsystem. It would beadvantageous to provide such a code that can be reliably read andprocessed.

Disclosed herein according to a first aspect is a container for use(e.g. it is suitably dimensioned) by a beverage or foodstuff preparationmachine, in particular the machine according to the fourth aspect. Thecontainer is suitable for containing beverage or foodstuff material(e.g. it has an internal volume and may be food safe). The container maybe a single-serving container, i.e. it is dimensioned for containing adosage of beverage or foodstuff material for preparation of a singleserving (e.g. pre portioned) of said product. The container may be asingle-use container, i.e. it is intended to be used in a singlepreparation process after which it is preferably rendered unusable, e.g.by perforation, penetration, removal of a lid or exhaustion of saidmaterial. In this way the container may be defined as disposable. Thecontainer comprises (e.g. on a surface thereof) a code encodingpreparation information, the code comprising a reference portion and adata portion. The reference portion comprising reference units defininga reference line r, which is linear. The data portion comprising atleast one data unit, wherein the data unit is arranged on (e.g. with atleast a portion thereof, generally a centre, intersecting said line) anencoding line D that intersects the reference line r, the data unit isarranged a distance d extending along said encoding line D from saidintersection (i.e. a circumferential distance) as a variable to at leastpartially encode a parameter of the preparation information (e.g. aparameter is entirely encoded by the data unit only or is encoded byseveral data units, which may be arranged on the same or differentencoding lines, and/or is encoded in addition by metadata), whereby saidencoding line D is semi (i.e. it comprises a segment of a circle) orfully circular and is arranged with a tangent thereto orthogonal thereference line r at said intersection point. The reference unitspreferably define a configuration, which may be referred to as areference configuration, said configuration defining a reference pointfrom which the reference line r extends. The configuration is preferablyunique, such that said configuration does not appear elsewhere in thecode. The configuration preferably comprises at least one of thereference units arranged nonlinear and/or the configuration forms anirregular polygon.

One advantage of defining the reference point with such a configurationof reference units is that its location can be accurately determined.Particularly when compared to the use of a single reference unit todefine said point. In this way the reference line r can be moreaccurately defined and thus data encoded. An advantage of having aconfiguration comprising at least one of the reference units arrangednonlinear, the configuration forming for example an irregular polygon,is that the configuration can be considered as having a uniqueorientation that may be used to at least approximately determine thedirection of the reference line r.

One advantage of having a circular extending encoding line D is that,for processing, a Polar coordinate system can be utilised, whereby: theorigin is typically the reference point of the configuration, saidreference point is arranged at an axial centre of the encoding line;each data unit has a radial distance from the origin; each data unit hasan angle defined as between the reference line r and a radial line tothe data unit. The distance d can be determined conveniently by the saidangle and optionally said radial distance. Image processing of a codeusing this coordinate system is less computationally intensive than foran example code that uses a Cartesian coordinate system, whereby theaxis are defined by a reference line and a linear encoding line thatextends orthogonally thereto. In particular a Cartesian arrangementrequires the image of the code reorienting during processing which isobviated when using a Polar coordinate system. In this way a morecost-effective image processor can be used. Moreover the code has a highencoding density since a plurality of encoding lines D can be arrangedconcentrically about the origin, with each comprising one or moreassociated data unit.

The preparation information may comprise information that is related toa preparation process, e.g. one or more parameters used by the machinesuch as: temperature; torque and angular velocity (for mixing units ofmachines which effect mixing); flow rate and/or volume; pressure; %cooling power; time (e.g. for which a phase comprising one or more ofthe aforesaid parameters are applied for); expiry date; containergeometric properties; phase identifier (for containers comprisingmultiple codes, whereby each of which encodes a distinct phase of apreparation process); container identifier; recipe identifier that maybe used to retrieve one or more parameters of the machine which are usedby the machine to prepare the product, wherein said parameters may bestored on the machine; pre-wetting volume.

A code, for example when the code is printed and/or embossed on acontainer, preferably has a planform with a peripheral length (e.g. adiameter of a circular periphery or side length of a rectangularperiphery) of 600-1600 μm or 600-6000 μm. One advantage is that the codeapplied on the container is not particularly visible, even if itcomprises several units. A further advantage is that capturing an imageof the code for reading and decoding the information contained thereincan be done with a small image capturing device, for example with acamera having dimensions in the magnitude of a few millimetres, whosesize provides for an easy and reliable integration in a machineaccording to the fourth aspect. More particularly, the data units andreference units that comprise the code preferably have a length of50-250 μm. The aforesaid length may be defined as: a diameter for asubstantially circular data or reference unit; a side length for aquadrilateral data or reference unit; other suitable measure of lengthfor a data or reference unit of another shape.

One advantage of a rectangular planform of the code is that it forms atessellating shape. A tessellating shape is particularly advantageoussince a plurality of codes can be compactly repeated on the container,e.g.: for read error checking, thereby allowing the design of robustcode decoding algorithms able to correct code reading and/or decodingerrors using several codes encoding the same information and thusminimizing the code reading failure rate; and/or with separate phases ofa preparation process encoded by each code or group of codes.Accordingly, the first aspect may comprise a plurality of the said codesformed on a container in an at least partially tessellating manner (e.g.a grid with adjacent columns aligned or with adjacent columns offset),whereby the codes preferably encode different phases of a preparationprocess.

Encoding several phases of a preparation process on a container allowsfor example encoding all parameters necessary for the preparation ofcomplex recipes, for example recipes comprising several preparationphases and/or recipes requiring simultaneous or sequential processing oftwo or more containers and/or of two or more ingredients in two or morecompartments within the same container, in order to obtain two or moreingredients such as for example milk and coffee, ice-cream and topping,milkshake and flavouring, etc.

According to the invention, all processing parameters necessary for arecipe being preferably encoded in one or more codes on thecorresponding one or more containers, recipes may be updated byproviding containers with updated codes thereon, said updated codesencoding updated/modified/new parameter values. New recipes and/or newcontainers with specific parameter values may furthermore be introducedand processed by a machine according to the fourth aspect withoutreprogramming of the machine. Accordingly, updated and/or new recipesmay be introduced in the system of the invention without having toupdate the machine's soft- or firmware.

The attachments according to the further aspects may also comprise theaforesaid plural code arrangement.

The reference units of the configuration may all be of the sameindividual configuration, for example, in terms of one or more of shape,colour and size. One advantage is that for processing, data and/orreference units of the code need only be identified as present, asopposed to in addition being identified by their individualconfiguration, whereby the location of the configuration is determinedbased on the associated reference units' spatial configuration,typically the points of the centres thereof, rather than the individualreference unit configuration. In this way processing overhead is reducedthereby enabling a more cost effective processor to be used.

The reference line r may extend through or from at least one selectedfrom a group comprising the following geometric terms in respect of theconfiguration: a centre of symmetry; a centroid; a line of symmetry. Inaddition or as an alternative, said reference line r may extend throughor parallel to one or more reference units of the configuration. Hereinthrough a reference unit is typical taken to mean though its centre. Oneadvantage is that the reference line r can be conveniently determinedonce said configuration has been identified. The reference point ispreferably arranged at the aforesaid geometric term of the group. Oneadvantage is that the reference point can be conveniently determinedonce said configuration has been identified.

The arrangement of reference units of the configuration may be selectedfrom a group consisting of: a triangle (such as a right-angled triangle;an equilateral triangle; an isosceles triangle); a square; anotherregular or irregular polygon with up to 8 vertices. Herein the saidarrangement of the configuration is preferably defined by the centres ofthe associated reference units at the vertices. One advantage is thatwith simple configurations of reference units the configuration can beconveniently identified, e.g. by locating the centres of the referenceunits and searching for the formation of a shape corresponding to thatof the configuration.

The configuration may have a right-angled triangle arrangement, wherebythe vertices of said triangle (e.g. the points defined by the centres ofthe reference units) are arranged on a circular line, which isconcentric the encoding line D such that the reference point is arrangedat the centre of the circular line. With such an arrangement a radiallyextending reference line r can be defined to extend parallel to a lineextending through two of the reference units. One advantage is that theconfiguration is compactly located within the encoding line(s).

Alternatively, the configuration may have a right-angled trianglearrangement, whereby the reference point is arranged between two of thetriangle's three vertices and the reference line r extends from thereference point through one of said two vertices.

The configuration may be arranged with the reference point at the centreof the circular encoding line. One advantage is that the centre of thePolar coordinate system can be conveniently determined by locating theconfiguration. The configuration is preferably located entirely within alocus defined by the or each encoding line D.

The configuration may have an arrangement from which a single directionof the reference line r can be uniquely identified. Said arrangement maybe achieved by configuring the arrangement to have a single line ofsymmetry through which the reference line r extends, or may extendparallel thereto. Said arrangement may be achieved by configuring thearrangement to have a side defined by one or more reference unitsthrough which the reference line r extends, or may extend parallelthereto, in particular said side may have a characteristic spacing ofreference units and/or a particular orientation with respect to otherreference units of the configuration, such as a right angled trianglewhereby the adjacent or opposite side has the reference line r extendingtherethrough, or extending parallel thereto. One advantage is that theconfiguration can define a direction of the reference line r.

According to the invention, the code thus comprises reference unitsdefining a reference point and a reference line for determining thecentre and orientation of the polar code. There is therefore norequirement of a specific alignment of the container relative to theimage capturing device when placed in the machine of the fourth aspectfor processing. The code processing subsystem will be able to determinethe centre and orientation of the code with the position of thereference units in a captured image, independently of the relativeorientation of the container and the image capturing device when theimage was taken.

The code may comprise a plurality of discrete positions, whereby saiddiscrete positions either comprise or do not comprise a unit, preferablyas a variable to at least partially encode a parameter of thepreparation information. In embodiments, at least one of said positionscomprises a unit for use as part of the reference portion. It will beappreciated that when used to encode data such discrete positions formpart of the reference portion and data portion. The or each suchdiscrete position may be arranged external a locus defined by the oreach encoding line D, i.e. it is on an outer periphery of the linerather than at its interior closed region. One advantage is that theconfiguration can be used to determine an approximate direction of thereference line r from which the approximate locations of such storeddiscrete positions can be determined. Said positions, which arepredefined known positions relative to the configuration, i.e. to thereference line r, can subsequently be checked for a data unit and if adata unit is present then the direction of the reference line moreaccurately determined using the data unit, preferably the location ofits centre, as a reference. One advantage is that such an arrangementobviates the need for a dedicated reference unit on the outer of theencoding line D, which would otherwise consume space that could be usedto encode data. The encoding line D may be arranged within a rectangularplanform, wherein these discrete positions are arranged within saidplanform and are proximal one or more vertices thereof. One advantage isthat the encoding density is maximised, especially for tessellatingconfigurations of codes.

Alternatively or in addition to the above, one or more discretepositions may be arranged on one or more encoding lines D. They may bearranged proximal the data unit on the encoding line D, for example, ata greater or lesser distance from the reference line r than thecorresponding data unit. Preferably, said discrete positions arearranged at predetermined distances from the data unit, i.e. theirlocation is defined relative to the distance d at which thecorresponding data unit has been arranged to encode a parameter. Oneadvantage of arranging discrete positions on encoding lines D is thatthe amount and format of data (e.g. continuous and discrete) can beincreased.

In particular, according to the parameter type, the parameters canselectively be encoded using the data units of the discrete positions ordata units that may be arranged at any distance along one or moreencoding line D. Parameters which can only assume discrete values arepreferably encoded by data units at the discrete positions, such as oneor more of: expiry date; phase identifier; container or productidentifier; and container geometric properties e.g. volume; an exponentor a sign that may be associated with a parameter encoded by a data unitarranged at a distance d on an encoding line D; a recipe identifier thatmay be used to retrieve one or more parameters of the machine which areused by the machine to prepare the product, wherein said parameters maybe stored on the machine; the identifier of a formula or lookup tableassociated with a parameter encoded by a data unit arranged at adistance d on an encoding line D. Parameters which can assume a widerange of values, which may be continuous, are preferably encoded viadata units arranged at any distance on one or more encoding lines D,such as one or more of: temperature; fluid volume; flow rate; torque andangular velocity; time; % cooling power. Moreover a particular parametermay be encoded by both a data unit arranged on the encoding line D anddata units of the discrete positions, e.g. the data units of thediscrete positions encode an exponent or sign associated with the valueencoded by the data unit arranged on the encoding line D.

In embodiments there may be a plurality of codes, wherein a referenceline r of a code is determined by the configuration of reference unitsof the code and a like configuration of reference units of one or morefurther codes, preferably an adjacent code. The codes may be arrangedsuch that reference line r of a code extends through a reference pointdefined by the configuration of one or more further codes, preferably ofan adjacent code. Alternatively the reference line may be arranged toextend at a known position with respect to the reference point definedby the configuration of one or more further codes, preferably of anadjacent code.

One of more of the following may have the same individual configuration,preferably in terms of one or more of shape, colour and size: thereference units of the configuration; further reference units; one ormore of the data units. Preferably all the reference units and/or all ofthe data units that comprise the code have the same individualconfiguration. One advantage is that processing overhead is reduced thusenabling a more cost effective processor.

A data unit may be arranged on the encoding line at any continuousdistance d along the encoding line from the intersection point. Oneadvantage is that the code has a high encoding density as it can encodeinformation in a continuous manner rather than in a discrete manner.Alternatively or in combination thereof, data units may be arranged atdiscrete distances (i.e. said data units occupy one of a plurality ofpredetermined discrete positions along the line D, which generally donot overlap and may have a discrete separation between adjacentpositions), said discrete distances being defined from the intersectionpoint or preferably from a data unit, or a group of data units, encodinginformation in a continuous manner as explained above. In the instanceof more than one encoding lines D and/or more than one data unitsarranged along the line(s), the data units may be arranged withcombinations of continuous and discrete distances.

The data portion may have an encoding area, within which the encodinglines D are arranged, the data units thereof being arranged within thebounds of the encoding area. The encoding area is preferably circular ata periphery, whereby the encoding lines D preferably extendconcentrically about an axial centre thereof. More particularly, theencoding area may be annular. One advantage is that with an annulararrangement the data units are not arranged in close proximity to theaxial centre of the annuli where the circumferential distance of theencoding line D is less such that there is less precision in thedetermined distance d. A portion of the encoding area may be bounded bythe reference line r, e.g. the encoding area is annular and is radiallyintersected by the reference line r. The reference units are preferablyarranged outside the encoding area, preferably in close proximity to theaxial centre of the annuli.

In embodiments, a data unit may be arrangeable up to the reference liner but not overlapping, i.e. a periphery of the data unit can becoincident to and extend from the reference line. Alternatively, a dataunit is not arrangeable coincident the reference line r, the closestdistance thereto being proximal but with a predetermined minimumdistance therefrom. One advantage is that there is sufficient separationbetween the reference line r and data units for processing. Preferablythe data and/or reference units are not arranged overlapping each other.

The encoding line D may intersect the reference line r at a referenceposition and the reference position is preferably absent a referenceunit, whereby the or each reference position is arranged a predetermineddistance along the reference line, e.g. from the or each reference unitof the configuration or other position. Preferably the reference unitsare arranged external (i.e. not arranged within) the encoding area. Oneadvantage is that the encoding density is increased since the data unitscan be arranged in close proximity to the reference line r, e.g. withoutneeding to ensure there is adequate separation between the data unit anda reference unit that would otherwise be on said line. The aforesaidpredetermined distance can be defined as a set amount such that theadjacent reference positions are equidistant e.g. a distance between theends of the reference line r divided by a number of reference positions.

The data unit may further encode metadata associated with the parameter.The metadata is preferably encoded discretely (e.g. it can assume one ofa predetermined number of values). The metadata is generally to: enableidentification of the particular parameter; and/or a property associatedwith the parameter (e.g. a ± or an exponent). A unit length of a dataunit may be selected from one of a plurality of predetermined unitlengths as a variable to encode the metadata. The aforesaid unit lengthmay be defined as: a diameter for a substantially circular unit; a sidelength for a quadrilateral unit; other suitable measure of length for aunit of another shape of unit. An offset of a centre of a data unit fromthe encoding line D along a line, the line extending radially from anaxial centre of the circular encoding line D, may be selected from oneof a plurality of predetermined offsets as a variable to encode themetadata. Preferably said offset is achieved within the bounds of atleast part of the associated data unit intersecting the encoding line D.

The data portion may comprise a plurality of encoding lines D (e.g. upto 2, 3, 4, 5, 6, 10, 16, 20 or more), each comprising a correspondingarrangement of a data unit (i.e. the data unit is arranged a distance dalong the corresponding encoding line from an intersection point to atleast partially encode a parameter) and/or of discrete positions for oneor more data units. Preferably, the encoding lines D are concentricallyarranged and preferably intersect the reference line r at a differentposition.

Moreover a plurality of data units may be arranged along a singleencoding line D. One advantage is that the encoding density isincreased. In such an arrangement each data unit may be identifiable bythe metadata. Each of the said data units may encode a separateparameter. Alternatively a plurality or group of data units may encode asingle parameter, whereby a distance d encoding said parameter may be afunction (e.g. an average or a multiple) of the distances of saidplurality of data units or of the data units of said group.

The data units and reference units may be formed by one of thefollowing: printing (e.g. by a conventional ink printer; one advantageis that the code can be conveniently and cost-effectively formed);engraving; embossing. The code may be formed directly on a surface ofthe container, e.g. the substrate for the units is integral with thecontainer. Alternatively the code may be formed on an attachment, whichis attached to the container, for example but not exclusively on alabel, on a thermal shrink sleeve and/or on a lid of the container.

The container may comprise the beverage or foodstuff material containedtherein. The container may comprise one of the following: capsule;packet; receptacle for end user consumption of the beverage or foodstufftherefrom. The capsule may have an internal volume of 5-80 ml. Thereceptacle may have an internal volume of 150-350 ml. The packet mayhave an internal volume of 150-350 ml or 200-300 ml or 50-150 dependingon the application.

Disclosed herein according to a second aspect is a method of encodingpreparation information, the method comprising forming a code on: acontainer for a beverage or foodstuff preparation machine, the containerfor containing beverage or foodstuff material; or an attachment forattachment to said container or said machine. The method may compriseencoding information with the code according to any feature of the firstaspect. In particular the method may comprise: arranging reference unitsto define a configuration defining a reference point from which areference line r of a reference portion extends; and at least partiallyencoding a parameter of the preparation information with a data portionof the code by arranging a data unit or a group of data units, forexample a pair of data units, on an encoding line D that intersects thereference line r, the data unit or group of data units being arrangedany distance d extending along the encoding line D from saidintersection as a variable for said encoding, whereby said encoding lineD is circular and is arranged with a tangent thereto orthogonal thereference line r at said intersection point. The method may furthercomprise at least partially encoding a parameter of the preparationinformation with one or more discrete positions, which are arranged inoperative proximity to the reference line r, wherein said discretepositions either comprise or do not comprise a data unit as a variableto at least partially encode a parameter of the preparation information.At least part of the discrete positions may in particular be arranged onone or more encoding lines D, wherein the locations of the discretepositions is defined relative to the corresponding data unit or group ofdata units. The method may comprise forming the code by one of thefollowing: printing; engraving; embossing. The method may compriseforming a plurality of codes of said code preferably in an at leastpartially tessellating arrangement.

Disclosed herein according to a third aspect is a method (e.g. acomputer implemented method) of decoding preparation information, themethod comprising obtaining a digital image of a code of a containeraccording to the first aspect, or the attachments according to theseventh and eighth aspects; processing said digital image to decode theencoded preparation information.

Processing of the digital image to decode the preparation informationmay comprise: locating the reference and data units of the code; atleast approximately determining therefrom a reference line r,determining (i.e. for the or each of the encoding lines D) for a dataunit or a group of data units a distance d along the encoding line Dfrom the reference line r; converting the determined distance d into anactual value of a parameter V_(p). In embodiments, the processing of thedigital image to decode the preparation information further comprisesdetermining the location of one or more discrete positions at a storedlocation relative to the configuration and/or relative to the data unitor group of data units of one or more encoding lines D, determining ifthey comprise a data unit, deriving therefrom a parameter.

The locating of the units of the code (i.e. data and reference units)may comprise one or more of the following: conversion of the digitalimage to a binary image; determining a centre of the units by featureextraction; determining a size/area/shape of the units by pixelintegration (i.e. determining a number of pixels of a shaded region thatcomprise the unit).

Determining therefrom a reference line r may comprise identifying aconfiguration of reference units. Identifying a configuration ofreference units may comprise locating reference units which have aparticular unique configuration, which is preferably defined by thecentre points of the units. Typically the configuration is stored on amemory unit of the machine, such as a look-up table, which may comprisethe memory subsystem. Determining the reference line r from theconfiguration may comprise determining therefrom a reference point fromwhich reference line r extends. The location of the reference point ispreferably arranged at a specific location with respect to theconfiguration. Typically the said location is stored on a memory unit ofthe machine, such as a look-up table, which may comprise the memorysubsystem.

Determining the reference line r from the configuration may furthercomprise identifying a single unique direction from the arrangement ofthe reference units, e.g. by searching for a line of symmetry or a sideas defined above.

Determining the reference line r may further comprise identifying areference and/or data unit arranged at least at one of a plurality ofdiscrete positions which are preferably arranged external a locusdefined by the or each encoding line D and whose location is definedrelative to the configuration and typically stored on a memory unit ofthe machine, such as a look-up table, which may comprise the memorysubsystem. In particular it may comprise refining or correcting aninitial position of the reference line r at least approximatelydetermined using the configuration by using the reference and/or dataunit of said at least one discrete position.

In embodiments comprising a plurality of codes of such code arranged forexample at least partly in a tessellating manner, determining thereference line r for a code may further comprise determining thereference line as extending from the reference point of theconfiguration of the code in a direction previously approximated fromthe configuration of the code, and through or in relation to a referencepoint defined by the configuration of at least one other code,preferably an adjacent code.

Determining the reference line may comprise a combination of any two ormore of the above determination steps.

Determining for each data unit a distance d along the encoding line Dfrom the reference line r may comprise determining a circumferentialdistance, i.e. by means of the angle observed at the centre of theencoding line (typically the reference point of the configuration)between the reference line r and the data unit together with the radialdistance of said data unit from said centre. Alternatively it maycomprise determining an angular distance, i.e. by means of the angleobserved at the centre of the encoding line between the reference line rand the data unit, whereby the radial distance may be used to identifythe data unit with respect to a reference position. The latter ispreferably since less processing steps are required. In each case thedistance may be corrected to account for magnification/reading distance.

Converting the determined distance d into an actual value of a parameterV_(p) may comprise converting the determined distance d into an actualvalue of a parameter V_(p) using a stored relationship (e.g. informationstored on a memory unit of the machine, which may comprise the memorysubsystem) between the parameter and distance d. The relationship may belinear, e.g. V_(p)αd and/or it may be non-linear. The relationship maycomprise at least one selected from a group consisting of: a logarithmicrelationship, e.g. V_(p)α log(d); an exponential relationship, e.g.V_(p)αe^(d); a polynomial; a step function; linear. Exponential andlogarithmic relationships are particularly advantageous when theaccuracy of a parameter is important at low values and less important athigh values or the converse respectively. Typically the relationship isstored as an equation or as a lookup table. The relationship may beapplied to any suitable variable of the preparation information, suchas: temperature; torque; flow rate/volume; pressure; % cooling power.One advantage is the execution of complex recipes, which may bedetermined by the particular material in the container and thefunctionality of the machine.

Processing of the digital image to decode the preparation informationmay further comprise determining metadata associated with the data unitof the encoded parameter, e.g. by one or more of the following:determining a unit length of a data unit; determining an offset of adata unit to the encoding line D. The aforesaid determining may be byfeature extraction or overall area/shape by pixel integration.

Determining the location of one or more discrete positions may compriseusing the identified position of the reference line r. It may furthercomprise using: stored information, e.g. there are a known number ofdiscrete positions arranged at known locations with respect to theposition of the reference line r, and/or with respect to the arrangementof a data unit or a group of data units along an encoding line D.Determining if the discrete positions comprise a data unit may comprisefeature extraction or other known technique. Deriving from the presenceof the data units at the discrete positions a parameter may compriseusing stored information (e.g. a look up table) to decode the encodedparameter(s).

Disclosed herein according to a fourth aspect is provided a beverage orfoodstuff preparation machine comprising: a container processingsubsystem to receive a container according to the first aspect and toprepare a beverage or foodstuff therefrom; a code processing subsystemoperable to: obtain a digital image of the code of the container;process said digital image to decode the encoded preparationinformation; a control subsystem operable to effect one or more of thefollowing: control of said container processing subsystem using saiddecoded preparation information; use of the preparation information tomonitor container consumption for re-ordering, e.g. via a server systemthrough a communication interface; use of the preparation information todetermine if a container has exceeded its expiry date. The codeprocessing subsystem may further be configured to process the digitalimage of the code according to the method of the third aspect.

Control of said container processing subsystem using said decodedpreparation information may in particular comprise executing apreparation process in phases, whereby preparation information for thephases is decoded from a code and/or from a plurality of codes encodinga plurality of phases as according to the first aspect. Said decodedpreparation information for several phases may for example be used tocontrol the container processing subsystem to perform complex recipesimplying for example processing of two or more containers, and/orprocessing of two or more ingredients in several individual compartmentswithin a same container, preferably upon a single user actuation, forexample upon a single push of a button of the machine's user interface.In embodiments, based for example on the information decoded from afirst container, the control subsystem checks for the presence in themachine of a particular second container or ingredient compartment,before or after processing the first container or ingredientcompartment, and pauses the preparation process if said second containeror ingredient compartment cannot be found. Once a second container oringredient compartment of the expected type is detected in the machine,the preparation process is resumed and the second container oringredient compartment is processed.

The container processing subsystem generally is operable to perform saidpreparation by the addition of fluid, such as water or milk to thebeverage or foodstuff material. The container processing subsystem maycomprise one of an: an extraction unit; a dissolution unit; a mixingunit. The container processing subsystem may further comprise a fluidsupply that is operable to supply fluid to the aforesaid unit. Generallythe fluid supply comprises a fluid pump and a fluid heater. Theaforesaid units may be configured for operation with one or morecontainer containing beverage or foodstuff material.

Disclosed herein according to a fifth aspect is provided a beverage orfoodstuff preparation system comprising a container according to thefirst aspect and a beverage or foodstuff preparation machine accordingto the fourth aspect.

Disclosed herein according to a sixth aspect is provided a method ofpreparing a beverage or foodstuff using the system according to thefifth aspect, the method comprising: obtaining a digital image of a codeaccording to the first aspect (which may be arranged on the container orthe attachments according to further aspect); processing said digitalimage to decode the encoded preparation information; operating a controlsubsystem to effect one more of the following: control of said containerprocessing subsystem using said decoded preparation information; use ofthe preparation information to monitor container consumption forre-ordering, e.g. via a server system through a communication interface;use of the preparation information to determine if a container hasexceeded its expiry date. The method may further comprise any of thesteps of processing the digital image of the code according to themethod of the third aspect.

Disclosed herein according to a seventh aspect is provided an attachmentconfigured for attachment to a container for a beverage or foodstuffpreparation machine according to the fourth aspect. The container ispreferably according to any feature of the first aspect, preferablywithout the code thereon. The attachment may comprise: a carriercarrying (e.g. on a surface thereof) a code according to the firstaspect; an attachment member for attachment to said container. Theattachment is preferably configured for attaching said carrier to thecontainer as if the code were formed integrally on the container. Inthis way the code can be read by an image capturing device as if it wereformed integrally thereon. The attachment may be configured to extendover a substantial portion of the container, e.g. a base or lid or rim.Examples of suitable attachment members comprise: an adhesive strip (ora planar region for receiving adhesive); a mechanical fastener such as aclip or bolt.

Disclosed herein according to an eighth aspect is provided an attachmentconfigured for attachment to a beverage or foodstuff preparation machineaccording to the fourth aspect. The attachment may comprise: a carriercarrying (e.g. on a surface thereof) a code according to first aspect;an attachment member for attachment to said machine. The attachmentmember is preferably configured for attaching said carrier to themachine at a position between an image capturing device of said machineand the container when received, such that the code thereon is proximatesaid container. In this way it can be read by the image capturing deviceas if it were attached to the container. Examples of suitable attachmentmembers comprise: extensions attached to said carrier comprising anadhesive strip (or a planar region for receiving adhesive) or amechanical fastener such as a clip, bolt or bracket.

Disclosed herein according to a ninth aspect is provided a use of acontainer as defined in the first aspect or the attachments as definedin the seventh and eighth aspect for a beverage or foodstuff preparationmachine as defined in the fourth aspect.

Disclosed herein according to a tenth aspect is provided a use of a codeas defined in the first aspect for encoding preparation information,preferably on: a container of a beverage or foodstuff preparationmachine, the container for containing beverage or foodstuff material asdefined in the first aspect; or an attachment according to the seventhor eighth aspect.

Disclosed herein according to a eleventh aspect is provided a computerprogram executable on one or more processors of a code processingsubsystem of a beverage or foodstuff preparation machine generally asdefined in the fourth aspect to decode encoded preparation information.The computer program may comprise program code executable by the or eachprocessor and/or program logic implemented on the or each processor (itmay also comprise program code for implementation of said programlogic). The computer program may be operable to decode the informationof the code according to any feature of the first aspect via any featureof the third aspect. The computer program may further be executable toobtain (e.g. by controlling an image capturing device) said digitalimage of the code.

The functional units described by the computer programs generally hereinmay be implemented, in various manners, using digital electronic logic,for example, one or more ASICs or FPGAs; one or more units of firmwareconfigured with stored code; one or more computer programs or othersoftware elements such as modules or algorithms; or any combinationthereof. One embodiment may comprise a special-purpose computerspecially configured to perform the functions described herein and inwhich all of the functional units comprise digital electronic logic, oneor more units of firmware configured with stored code, or one or morecomputer programs or other software elements stored in storage media.

Disclosed herein according to an twelfth aspect is provided anon-transitory computer readable medium comprising the computer programaccording to the eleventh aspect. The non-transitory computer readablemedium may comprise a memory unit of the processor or othercomputer-readable storage media for having computer readable programcode for programming a computer stored thereon, e.g. a hard disk, aCD-ROM, an optical storage device, a magnetic storage device, Flashmemory; a storage device of a server for download of said program. Thefunctional units described by the computer programs generally herein maybe implemented, in various manners, using digital electronic logic, forexample, one or more ASICs or FPGAs; one or more units of firmwareconfigured with stored code; one or more computer programs or othersoftware elements such as modules or algorithms; or any combinationthereof. One embodiment may comprise a special-purpose computerspecially configured to perform the functions described herein and inwhich all of the functional units comprise digital electronic logic, oneor more units of firmware configured with stored code, or one or morecomputer programs or other software elements stored in storage media.

Disclosed herein according to a thirteenth aspect is an informationcarrying medium comprising the code according to the first aspect. Inparticular the information carrying medium may comprise the container asdefined herein, either of the attachments as defined herein, or asubstrate, such as an adhesive strip of other suitable medium.

The method of encoding preparation information according to the secondaspect may be applied to the information carrying medium. The method ofdecoding preparation information according to the third aspect may beapplied to the information carrying medium. The beverage or foodstuffpreparation machine according to the fourth aspect may be configured foroperation with the information carrying medium, e.g. via its attachmentto the container or other suitable component, such as either of theaforedescribed attachments. The system according to the fifth aspect maycomprise the information carrying medium. The method of preparing abeverage or foodstuff of the sixth aspect may be adapted to compriseobtaining a digital image of the code of the information carryingmedium.

The preceding summary is provided for purposes of summarizing someexemplary embodiments to provide a basic understanding of aspects of thesubject matter described herein. Accordingly, the above-describedfeatures are merely examples and should not be construed to narrow thescope or spirit of the subject matter described herein in any way.Moreover, the above aspects may be combined in any suitable combinationto provide further embodiments. Moreover comprising herein is to beunderstood as non-limiting. Other features, aspects, and advantages ofthe subject matter described herein will become apparent from thefollowing Detailed Description, Figures, and Claims.

BRIEF DESCRIPTION OF THE FIGURES

FIGS. 1A and 1B are a diagrammatic drawing illustrating embodiments ofbeverage or foodstuff preparation systems that comprises a machine and acontainer according to embodiments of the present disclosure.

FIGS. 2A and 2B are a block diagram illustrating a control subsystem andcode processing subsystem for the preparation machine of FIGS. 1A and 1Baccording to embodiments of the present disclosure.

FIGS. 3A and 3B are a diagrammatic drawing illustrating containers forthe preparation machine of FIGS. 1A and 1B according to embodiments ofthe present disclosure.

FIGS. 4A, 4B, 5A-5F, 6A-6F, 7A-7B and 8A-8E are plan views showing toscale codes for the containers of FIGS. 3A and 3B according toembodiments of the present disclosure.

FIGS. 9-10 are diagrammatic drawings illustrating attachments for thesystem of FIGS. 1A and 1B according to embodiments of the presentdisclosure.

DETAILED DESCRIPTION

Beverage/Foodstuff Preparation System

A beverage or foodstuff preparation system 2, an embodiment of which isillustrated in FIG. 1, comprises: a beverage or foodstuff preparationmachine 4; a container 6, which are described further below.

Preparation Machine

The beverage or foodstuff preparation machine 4 is operable to process abeverage or foodstuff material (hereon material) arranged in thecontainer 6 to a beverage and/or foodstuff for consumption by drinkingand/or eating. Generally processing comprises the addition of fluid,such as water or milk to said material. A foodstuff material as definedherein may comprise a substance capable of being processed to anutriment generally for eating, which may be chilled or hot. Generallythe foodstuff is a liquid or a gel. Non-exhaustive examples of whichare: yoghurt; mousse; parfait; soup; ice cream; sorbet; custard;smoothies. Generally the foodstuff is a liquid, gel or paste. A beveragematerial as defined herein may comprise a substance capable of beingprocessed to a potable substance, which may be chilled or hot,non-exhaustive examples of which are: tea; coffee, including groundcoffee; hot chocolate; milk; cordial. It will be appreciated that thereis a degree of overlap between both definitions, i.e. a said machine 4can prepare both a foodstuff and a beverage.

The machine 4 is generally dimensioned for use on a work top, i.e. it isless than 70 cm in length, width and height.

The machine 4 comprises: a housing 10; a container processing subsystem14; a control subsystem 16; and a code processing subsystem 18.

Housing

The housing 10 houses and supports the aforesaid machine components andcomprises: a base 108 for abutment of a horizontally arranged supportsurface; a body 110 for mounting thereto said components.

Container Processing Subsystem

Depending on the particular embodiment the container processingsubsystem 14 (which may also be considered a preparation unit) may beconfigured to prepare a foodstuff/beverage by processing materialarranged in: one or more single-serving, single use container 6 that isa packet and/or capsule; a container 6 that is a receptacle for end-userconsumption therefrom. In particular the material is processed to effecta change of its composition, e.g. by dissolution or extraction or mixingof an ingredient thereof. Embodiments of each configuration will bediscussed.

Two or more such configurations may be combined in a single containerprocessing subsystem 14 in order for example to prepare afoodstuff/beverage from material contained in two or more containers 6and requiring different processing. In embodiments, a containerprocessing subsystem 14 may for example be configured to simultaneouslyor sequentially: in a pressurised extraction unit, extract coffee from acapsule containing ground coffee and; in a dissolution unit, dilutepowdered milk contained in a packet; in order to prepare a milk andcoffee beverage such as for example a cappuccino, a cafe latte or alatte macchiato. In other embodiments, a container processing subsystem14 may for example be configured to simultaneously or sequentially:prepare at least part of a foodstuff/beverage in a receptacle for enduser consumption in a mixing unit and; possibly dilute materialcontained in a container and dispense it into the receptacle; in orderfor example to prepare a serving of ice-cream with topping or aflavoured milk-shake. Other feature combinations in a single containerprocessing subsystem 14 are however possible within the frame of theinvention in order to allow the preparation of foodstuff/beveragesaccording to other complex recipes.

In general in all the embodiments the container processing subsystem 14comprises a fluid supply 12 that is operable to supply fluid to thecontainer 6. The fluid is in general water or milk, the fluid maybeconditioned (i.e. heated or cooled). The fluid supply 12 typicallycomprises: a reservoir 20 for containing fluid, which in mostapplications is 1-5 litres of fluid; a fluid pump 22, such as areciprocating or rotary pump that may be driven by an electrical motoror an induction coil (although in one example the pump may be replacedwith connection to a mains water supply); an optional fluid thermalexchanger 24 (typically a heater), which generally comprises an in-line,thermoblock type heater; an outlet for supplying the fluid. Thereservoir 20, fluid pump 22, fluid heater 24, and outlet are in fluidcommunication with each other in any suitable order and form a fluidline. The fluid supply 12 may optionally comprise a sensor to measurefluid flow rate and/or the amount of fluid delivered. An example of sucha sensor is a flow meter, which may comprises a hall or other suitablesensor to measure rotation of a rotor, a signal from the sensor beingprovided to the processing subsystem 50 as will be discussed.

Container Processing Subsystem for Extraction of Foodstuff/Beverage fromContainer

According to a first embodiment the container processing subsystem 14 isoperable: to receive the container 6 containing material; process thecontainer 6 to extract one or more ingredients of a beverage orfoodstuff therefrom, and to dispense the said ingredients into analternate receptacle for end-user consumption. The container isgenerally a single-use, single-serving container such as a capsule orpacket.

A container processing subsystem 14 for use with the said capsule willinitially be described, an example of which is shown in FIG. 1A. Thecontainer processing subsystem 14 comprises an extraction unit 26operable to move between a capsule receiving position and a capsuleextraction position. When moving from the capsule extraction position tothe capsule receiving position the extraction unit 26 may be movedthrough or to a capsule ejection position, wherein a spent capsule canbe ejected therefrom. The extraction unit 26 receives fluid from thefluid supply 12. The extraction unit 26 typically comprises: aninjection head 28; a capsule holder 30; a capsule holder loading system32; a capsule insertion channel 34A; a capsule ejection channel or port34B, which are described sequentially.

The injection head 28 is configured to inject fluid into a cavity of thecapsule 6 when held by the capsule holder 30, and to this end hasmounted thereto an injector, which has a nozzle that is in fluidcommunication with the outlet of the fluid supply 12.

The capsule holder 30 is configured to hold the capsule 6 duringextraction and to this end it is operatively linked to the injectionhead 28. The capsule holder 30 is operable to move to implement the saidcapsule receiving position and capsule extraction position: with thecapsule holder in the capsule receiving position a capsule 6 can besupplied to the capsule holder 30 from the capsule insertion channel34A; with the capsule holder 30 in the capsule extraction position asupplied capsule 6 is held by the holder 30, the injection head 28 caninject fluid into the cavity of the held capsule, and one or moreingredients can be extracted therefrom. When moving the capsule holder30 from the capsule extraction position to the capsule receivingposition, the capsule holder 30 can be moved through or to the saidcapsule ejection position, wherein a spent capsule 6 can be ejected fromthe capsule holder 30 via the capsule ejection channel or port 34B.

The capsule holder loading system 32 is operable to drive the capsuleholder 30 between the capsule receiving position and the capsuleextraction position.

The aforedescribed extraction unit 26 is generally a pressurisedextraction unit, e.g. the container is hydraulically sealed and subjectto 5-20 bar during brewing. Generally the pump is an induction pump. Theextraction unit may alternatively operate by centrifugation as disclosedin EP 2594171 A1, which is incorporated herein by reference.

The container processing subsystem 14 may alternatively or additionallycomprise a dissolution unit configured as disclosed in EP 1472156 and inEP 1784344, which are incorporated herein by reference.

In the embodiment of the container 6 comprising a packet the containerprocessing subsystem 14 comprises an extraction and/or dissolution unitoperable to receive the packet and to inject, at an inlet thereof, fluidfrom the fluid supply 12. The injected fluid mixes with material withinthe packet to at least partially prepare the beverage, which exits thepacket via an outlet thereof. The container processing subsystem 14comprises: a support mechanism to receive an unused packet and eject aspent packet; an injector configured to supply fluid to the packet fromthe outlet of the fluid supply. Further detail is provided in WO2014/125123, which is incorporated herein by reference.

Container Processing Subsystem for Preparation of Foodstuff/Beverage inContainer for End User Consumption

According to a further embodiment, an example of which is shown in FIG.1B, the container processing subsystem 14 is generally operable toprepare material stored in a container 6 that is a receptacle, such as acup, pot or other suitable receptacle configured to hold approximately150-350 ml of prepared product. Herein the container processingsubsystem 14 comprises a mixing unit, which comprises: an agitator unit40; an optional auxiliary product unit 42; a thermal exchanger 44; and areceptacle support 46, which will be described sequentially.

The agitator unit 40 is operable to agitate material within thereceptacle for at least partial preparation thereof. The agitator unitmay comprise any suitable mixing arrangement, e.g. a: planetary mixer;spiral mixer; vertical cut mixer. Typically the agitator unit 40comprises: an implement for mixing having a mixing head for contact withthe material; and a drive unit, such as an electric motor or solenoid,to drive the mixing implement. In a preferred example of a planetarymixer the mixing head comprises an agitator that rotates with a radialangular velocity W1 on an offset shaft that rotates with gyrationangular velocity W2, such an arrangement is disclosed inPCT/EP2013/072692, which is incorporated herein by reference.

The auxiliary product unit 42 is operable to supply an auxiliaryproduct, such as a topping, to the container 6. The auxiliary productunit 42 for example comprises: a reservoir to store said product; anelectrically operated dispensing system to effect the dispensing of saidproduct from the reservoir. Alternatively or additionally, the auxiliaryproduction unit comprises a dilution and/or an extraction unit asdescribed above to effect the dispensing from said auxiliary productfrom a container 6 such as a packet or a capsule.

The thermal exchanger 44 is operable to transfer and/or extract thermalenergy from the container 6. In an example of transfer of thermal energyit may comprise a heater such as thermoblock. In an example ofextraction of thermal energy it may comprise heat pump such as arefrigeration-type cycle heat pump.

The receptacle support 46 is operable to support the container 6 duringa preparation process such that the container remains stationary duringagitation of the material therein by the agitator unit 40. Thereceptacle support 46 preferably is thermally associated with thethermal exchanger 44 such that transfer of thermal energy can occur witha supported receptacle.

In a variant of the above, the container processing subsystem 14 furthercomprises a dispensing mechanism for receiving a container 6 (such as apacket or capsule) and dispensing the associated material into thereceptacle, where it is prepared. Such an example is disclosed in EP14167344 A, which is incorporated herein by reference. In a particularembodiment with this configuration the container may be a partiallycollapsible container, whereby the container is collapsible to dispensematerial stored therein. Such an example is disclosed in EP 15195547 A,which is incorporated herein by reference. In particular a collapsibleportion of the container comprises a geometric configuration and/orportion of weakening such that said portion collapses in preference to aretaining portion upon the application of axial load through bothportions. In such an embodiment the container processing subsystem 14comprises a mechanical actuation device configured to apply an axialload to collapse said container, an example of which is provided in thereference application.

Control Subsystem

The control subsystem 16, an embodiment of which is illustrated in FIG.2, is operable to control the container processing subsystem 14 toprepare the beverage/foodstuff. The control subsystem 16 typicallycomprises: a user interface 48; a processing subsystem 50; optionalsensors 52; a power supply 54, optional communication interface 56,which are described sequentially.

The user interface 48 comprises hardware to enable an end user tointerface with the processing subsystem 50 and hence is operativelyconnected thereto. More particularly: the user interface 48 receivescommands from a user; a user interface signal transfers the saidcommands to the processing subsystem 50 as an input. The commands may,for example, be an instruction to execute a preparation process. Thehardware of the user interface 48 may comprise any suitable device(s),for example, the hardware comprises one or more of the following:buttons, such as a joystick button or press button; joystick; LEDs;graphic or character LDCs; graphical screen with touch sensing and/orscreen edge buttons.

Optional sensors 52 are operatively connected to the processingsubsystem 50 to provide an input for monitoring said process. Thesensors 52 typically comprise one or more of the following: fluidtemperature sensors; fluid level sensors; position sensors e.g. forsensing a position of the extraction unit 26; flow rate and/or volumesensors.

The processing subsystem 50 (which may be referred to as a processor) isgenerally operable to: receive an input, i.e. said commands from theuser interface 48 and/or from the sensors 52 and/or preparationinformation decoded by the code processing subsystem 18, as explainedfurther below; process the input according to program code stored on amemory subsystem (or programmed logic); provide an output, which isgenerally the said preparation process. The process may be executed withopen-loop control, or more preferably with closed-loop control using theinput signal from the sensors 52 as feedback. The processing subsystem50 generally comprises memory, input and output system components, whichare arranged as an integrated circuit, typically as a microprocessor ora microcontroller. The processing subsystem 50 may comprise othersuitable integrated circuits, such as: an ASIC; a programmable logicdevice such as an FPGA; an analogue integrated circuit such as acontroller. The processing subsystem 50 may also comprise one or more ofthe aforementioned integrated circuits, i.e. multiple processors.

The processing subsystem 50 generally comprises or is in communicationwith a memory subsystem 112 (which may be referred to as a memory unit)for storage of the program code and optionally data. The memorysubsystem 112 typically comprises: a non-volatile memory e.g. EPROM,EEPROM or Flash for program code and operating parameter storage;volatile memory (RAM) for data storage. The program code typicallycomprises a preparation program 116 executable to effect a preparationprocess. The memory subsystem may comprise separate and/or integrated(e.g. on a die of the processor) memory.

The power supply 54 is operable to supply electrical energy to theprocessing subsystem 50, container processing subsystem 14, and thefluid supply 12 as will be discussed. The power supply 54 may comprisevarious means, such as a battery or a unit to receive and condition amains electrical supply.

The communication interface 56 is for data communication between thepreparation machine 4 and another device/system, typically a serversystem. The communication interface 56 can be used to supply and/orreceive information related to the preparation process, such ascontainer consumption information and/or preparation processinformation. The communication interface 56 can be configured for cabledmedia or wireless media or a combination thereof, e.g.: a wiredconnection, such as RS-232, USB, I2C, Ethernet defined by IEEE 802.3; awireless connection, such as wireless LAN (e.g. IEEE 802.11) or nearfield communication (NFC) or a cellular system such as GPRS or GSM. Thecommunication interface 56 is operatively connected to the processingsubsystem 50. Generally the communication interface comprises a separateprocessing unit (examples of which are provided above) to controlcommunication hardware (e.g. an antenna) to interface with the masterprocessing subsystem 50. However, less complex configurations can beused e.g. a simple wired connection for serial communication directlywith the processing subsystem 50.

Code Processing Subsystem

The code processing subsystem 18 is operable: to obtain an image of acode on the container 6; to process said image to decode the encodedinformation including for example preparation information. The codeprocessing subsystem 18 comprises an: image capturing device 106; imageprocessing device 92; output device 114, which are describedsequentially.

The image capturing device 106 is operable to capture a digital image ofthe code and to transfer, as digital data, said image to the imageprocessing device 92. To enable the scale of the digital image to bedetermined: the image capturing device 106 is preferably arranged apredetermined distance away from the code when obtaining the digitalimage; in an example wherein the image capturing device 106 comprises alens the magnification of the lens is preferably stored on a memory ofthe image processing device 92. The image capturing device 106 comprisesany suitable optical device for capturing a digital image consisting ofthe latter discussed micro-unit code composition. The code forming amicro-unit composition, the image capturing device may have very smalldimensions, for example in the magnitude of a few millimetres or less,for example less than 2 mm in length, width and thickness, therebyfacilitating its integration in a foodstuff/preparation machine 4, forexample in the container processing subsystem 14. Such image capturingdevices are furthermore mechanically simple and reliable pieces ofequipment that will not impair the machine's overall functionalreliability. Examples of suitable reliable optical devices are: SonixSN9S102; Snap Sensor S2 imager; an oversampled binary image sensor.

The image processing device 92 is operatively connected to the imagecapturing device 106 and is operable to process said digital data todecode information, in particular preparation information encodedtherein. Processing of the digital data is discussed in the following.The image processing device 92 may comprise a processor such as amicrocontroller or an ASIC. It may alternatively comprise the aforesaidprocessing subsystem 50, in such an embodiment it will be appreciatedthat the output device is integrated in the processing subsystem 50. Forthe said processing the image processing device 92 typically comprises acode processing program. An example of a suitable image processingdevice is the Texas Instruments TMS320C5517.

The output device 114 is operatively connected to the image processingdevice 92 and is operable to output digital data that comprises thedecoded preparation information to the processing subsystem 50, e.g. bymeans of a serial interface.

Container

The container 6 may comprise, depending on the embodiment of thecontainer processing subsystem 14, a: receptacle comprising material forpreparation and end-user consumption therefrom; a capsule or packetcomprising material for preparation therefrom. The container 6 may beformed from various materials, such as metal or plastic or a combinationthereof. In general the material is selected such that it is: food-safe;it can withstand the pressure and/or temperature of the preparationprocess. Suitable examples of containers are provided following.

The container 6 when not in packet form generally comprises: a bodyportion 58 defining a cavity for the storage of a dosage of a material;a lid portion 60 for closing the cavity; a flange portion 62 forconnection of the body portion and lid portion, the flange portiongenerally being arranged distal a base of the cavity. The body portionmay comprise various shapes, such as a disk, frusto-conical orrectangular cross-sectioned. Accordingly, it will be appreciated thatthe capsule 6 may take various forms, an example of which is provided inFIG. 3A, which may generically extend to a receptacle or capsule asdefined herein. The container 6 may be distinguished as a receptacle forend-user consumption therefrom when configured with an internal volumeof 150-350 ml and preferably a diameter of 6-10 cm and axial length of4-8 cm. In a similar fashion a capsule for extraction may bedistinguished when configured with an internal volume of less than 100or 50 nil and preferably a diameter of 2-5 cm and axial length of 2-4cm. The container 6 in collapsible configuration may comprise aninternal volume of 5 ml-250 ml. In embodiments, the container's cavitymay be divided in a plurality of compartments, for example two, three ormore compartments, each compartment containing a material possiblydifferent from the material contained in the other compartments. Thedifferent materials of the various compartments may for example beprocessed simultaneously or sequentially by the container processingsubsystem 14. Examples of such containers and their processing by anappropriate container processing subsystem are for example described inWO 2007/054479 A1, WO 2014/057094 A1 and unpublished application EP17151656.0, which are all incorporated herein by reference.

The container 6 when in packet form as shown in FIG. 3B generallycomprises: an arrangement of sheet material 64 (such as one or moresheets joined at their periphery) defining an internal volume 66 for thestorage of a dosage of a material; an inlet 68 for inflow of fluid intothe internal volume 66; an outlet 70 for outflow of fluid and materialfrom the internal volume. Typically the inlet 68 and outlet 70 arearranged on a body of an attachment (not shown), which is attached tothe sheet material. The sheet material may be formed from variousmaterials, such as metal foil or plastic or a combination thereof.Typically the internal volume 66 may be 150-350 ml or 200-300 ml or50-150 depending on the application. In embodiments, the internal volumeof the container may be divided in a plurality of compartments, forexample two or three compartments, each compartment containing amaterial possibly different from the material contained in the othercompartments. The different material of the various compartments may forexample be processed simultaneously or sequentially by an appropriatecontainer processing subsystem 14.

Information Encoded by Code

A code 74 of the container 6 encodes preparation information, whichgenerally comprises information related to the associated preparationprocess. Depending of the embodiment of the container processingsubsystem 14 said information may encode one or more parameters, whichmay comprise one of more of a: fluid pressure; fluid temperature (atcontainer inlet and/or outlet to receptacle); fluid mass/volumetric flowrate; fluid volume; phase identifier, for when a preparation process issplit into a series of phase, whereby each phase comprises a set of oneof more of the aforesaid parameters, (typically there are 4-10 phases);phase duration (e.g. a duration for applying the parameters of a phase);recipe and/or container and/or compartment identifier, for when a reciperequires processing material contained in two or more containers and/orcontainer compartments; container geometric parameters, such asshape/volume/number of different ingredient compartments; othercontainer parameters e.g. a container identifier, which may for examplebe used to monitor container consumption for the purpose of containerre-ordering, an expiry date, a recipe identifier, which may be used tolook-up a recipe stored on the memory of the beverage machine for usewith the container.

Specifically in respect of a preparation machine 4 such as the oneillustrated in FIG. 1A said encoded parameters may comprise any one ormore of a: pressure; temperature; fluid volume; fluid flow rate; time ofa particular phase of preparation for which the aforesaid one or moreparameters are applied for; phase identifier, e.g. an alphanumericidentifier, to identify which of a plurality of phases the aforesaid oneor more parameters relate; recipe identifier; pre-wetting time, which isthe amount of time the material of the container may be soaked forduring an initial preparation phase; pre-wetting volume, which is theamount of fluid volume applied during said phase.

Specifically in respect of a preparation machine 4 such as the oneillustrated in FIG. 1B said encoded parameters may comprise one or moreof a: percentage cooling or heating power to apply (e.g. the powerapplied by the thermal exchanger 44); torque applied by the agitatorunit 40; one or more angular velocities (e.g. a gyration and radialangular velocities W1, W2); container temperature (e.g. the temperatureset by the thermal exchanger 44); time of a particular phase ofpreparation for which the aforesaid one or more parameters are appliedfor; phase identifier, e.g. an alphanumeric identifier, to identifywhich of a plurality of phases the aforesaid one or more parametersrelate.

Arrangement of Code

The code 74 is arranged on an exterior surface of the container 6 in anysuitable position such that it can be processed by the code processingsubsystem 18. In the afore-discussed example of a receptacle/capsule 6,as shown in FIG. 3A, the code can be arranged on any exterior surfacethereof, e.g. the lid, body and/or flange portion. In theafore-discussed example of a packet 6, as shown in FIG. 3B, the code canbe arranged on any exterior surface thereof, e.g. either or both sidesof the packet, including the rim.

A plurality of codes 74 can be formed on the container 6, e.g.: for readerror checking; and/or with separate phases of a preparation processencoded by each code. In particular the planform of the code (as will bediscussed) may comprise an at least partially tessellating shape, e.g. arectangle such as a square, whereby the codes are formed on a containerin an at least partially tessellating manner (e.g. a grid with adjacentcolumns aligned or with adjacent columns offset).

Composition of Code

The code 74, an example of which is shown in FIG. 4, is configured toencode the preparation information in a manner for capturing by theimage capturing device 106. More particularly, the code is formed of aplurality of units 76, preferably micro-units, with a surround of adifferent colour: typically the codes comprise a dark colour (e.g. oneof the following: black, dark blue, purple, dark green) and the surroundcomprises a light colour (e.g. one of the following: white, light blue,yellow, light green) or the converse, such that there is sufficientcontrast for the image processing device 92 to distinguish therebetween.The units 76 may have one or a combination of the following shapes:circular; triangular; polygonal, in particular a quadrilateral such assquare or parallelogram; other known suitable shape. It will beappreciated that due to formation error, (e.g. printing error), theaforesaid shape can be an approximation of the actual shape. The units76 typically have a unit length of 50-200 μm (e.g. 60, 80, 100, 120, 150μm). The unit length is a suitably defined distance of the unit, e.g.:for a circular shape the diameter; for a square a side length; for apolygon a diameter or distance between opposing vertices; for a trianglea hypotenuse. The units 76 are preferably arranged with a precision ofabout 1 μm.

Whilst the code is referred to as comprising a plurality of units itwill be appreciated that the units may alternatively be referred to aselements or markers.

Typically the units 76 are formed by: printing e.g. my means of an inkprinter; embossing; engraving; other known means. As an example ofprinting the ink may be conventional printer ink and the substrate maybe: polyethylene terephthalate (PET); aluminium coated with a lacquer(as found on Nespresso™ Classic™ capsules) or other suitable substrate.As an example of embossing the shape may be pressed into a plasticallydeformable substrate (such as the aforesaid aluminium coated with alacquer) by a stamp. The costs of forming the code on a container 6 maythus be kept low by using conventional and inexpensive technologies(e.g. ink jet, off-set, or laser printing), such that the costs offorming the code don't significantly impact the costs of production ofthe container 6.

The code comprises a planform 104, within which the units 76 arearranged. The planform may be circular, rectangular (as shown in FIG.4), or polygonal. Typically the planform has a length (i.e. a diameterfor a circular or polygonal planform and a side length for a squareplanform) of 600-1600 or about 1100 which will depend on the number ofparameters encoded. The code 74 of the invention allows encoding severalparameter values on a small surface, thereby allowing potentiallyencoding all parameters necessary for the completion of complex recipesby a beverage or foodstuff preparation machine according to the fourthembodiment of the invention. The code 74 for example allows encodingpreparation information required for recipes comprising severalprocessing phases using the foodstuff contained in one or morecontainers and/or container compartments.

The units 76 are organised into a: data portion 78 to encode thepreparation information; and a reference portion 80 to provide areference for the data portion 78, both of which are described in moredetail following.

The reference portion 80 comprises a plurality of reference units 86defining a linear reference line r. The reference line r provides areference direction for angular reference by the data portion 78 as willbe discussed. The reference units typically define a configuration 88defining a reference point 102 from which the reference line r extends.However in another example (not shown) a single reference unit may bearranged at the reference point, whereby said reference unit isidentifiable as one or a combination of a different shape, colour, sizefrom the other units that comprise the code.

The data portion 78 comprises a data unit 82 or a group 820 of dataunits 82, for example a pair of data units 82, arranged on an encodingline D that intersects the reference line r. The encoding line D iscircular and is arranged with a tangent thereto orthogonal the referenceline r at said intersection point. Generally the data unit or group ofdata units is able to occupy any continuous distance d along theencoding line D from its intersection with the reference line r, as avariable to encode a parameter of the preparation information. In thisrespect a wider range of information may be encoded. The continuousencoding of a parameter is particularly advantageous in encodingparameters which can have a large numerical range, e.g. torque andangular velocity. Alternatively or in combination thereof, one or moredata units 82 can only occupy discrete positions only (i.e. one of aplurality of predetermined positions) along the encoding line D as avariable to encode one or more parameters.

In embodiments, the data portion 78 of the code further comprises aplurality of discrete positions 119, 118 arranged on one or moreencoding lines D and/or in operative proximity to the reference line rsuch that they can be located using a data unit 82 or group 820 of dataunits 82 on a one or more encoding line D and/or the reference line r.Each discrete position 119, 118 either comprised or does not comprise adata unit 82 as will be discussed. Preferably, only the reference units86 and the data units 82 are physically formed, e.g. printed orembossed, on the container or code support.

The encoding along the encoding line D and encoding of the discretepositions 118, 119 is discussed in more detail further below.

Detailed Description of Code

The code 74, an example of which is shown in FIG. 4, comprise theaforesaid arrangement of the encoding line D and reference liner. Notein FIG. 4 (and those following) the: reference line r, encoding line D;planform 104; encoding area 90; and various other constructional lines,are shown for illustrative purposes only, that is to say they do notrequire physical formation as part of the code. Rather they can bedefined virtually when an image of the code is processed as will bediscussed.

The encoding line D intersects the reference line r at a referenceposition 84. A reference position 84 may or may not comprise a referenceunit 86 as will be discussed. Generally there are plurality of encodinglines D, such as 2, 3, 4, 5, which are concentrically arranged andintersect the reference line r at a plurality of different referencepositions 84, whereby each has a data unit at least partially encoding aparameter. The data portion 78 generally comprises an encoding area 90,which may be defined by the encoding lines D, within the bounds of whichthe data units 82 are arranged.

Numbering of the reference positions 84 and the associated data units 82and encoding line D herein is denoted by a numerical subscript, andcomprises the lowest number reference position 84 proximate theconfiguration 88 (which will be discussed), increasing consecutively tothe highest number reference position 84 distal thereto, e.g. the secondreference position is 842, the associated encoding line is D₂ anddistance along said encoding line is d₂ as shown in FIG. 4.

The distance d is defined from the reference position 84 along theencoding line D to a position on the encoding line D, which a centre ofthe data unit 82 is arranged on, or arranged proximate thereto, e.g. ata position on the encoding line D which is intersected by a line throughthe centre of the data unit 82, whereby said line is orthogonal to theencoding line D at the point of intersection. The distance d may bedefined in terms of the circumferential or angular distance.

The reference portion 80 comprises m reference units 86, (three areillustrated in FIG. 4A) arranged to at least partially define a linearreference line r, wherein m numerically is at least two. In particularthe reference line r extends through a plurality of points which aredefined by a reference unit and/or the configuration 88, as will bediscussed.

The configuration 88 comprises a characteristic arrangement of units, inparticular reference units, that is not repeated elsewhere in the code.It can thus be conveniently identified when processing the code. It ispreferred, for reasons of processing overhead, to have the referenceunits of the configuration all of the same individual configuration.Herein individual configuration is taken to mean one or more of shape,colour and size. Typically all three are the same for said units. Inthis way the units need only be identified as present, as opposed to inaddition being identified by their individual configuration, e.g. viacolour and/or shape which is more computationally intensive. Thecharacteristic shape of the configuration can thus be identified frompoints, typically the centre points, of the reference units. For thesereasons it is preferable to have other units that comprise the code ofthe same individual configuration as those of the configuration. Theother units of the code may comprise all of the units or one or more of:further reference units (i.e. those in addition to those of theconfiguration); one or more of the data units.

The configuration may be arranged into various shapes, such as atriangle, square, or other polygon. In general said polygon arrangementhas up to 8 vertices, may or may not comprise a reference unit at thecentre, and may be equiangular or asymmetric. Non-limiting examples ofarrangements for the configuration are shown in FIGS. 4 and 5, wherein:FIG. 4A illustrates a right-angled triangle; FIG. 4B illustrates anequilateral triangle; FIG. 5A illustrated an isosceles triangle; FIG. 5Billustrates a square; FIG. 5C illustrates a kite; FIG. 5D illustrates akite with a reference unit arranged at the centre; FIG. 5E illustrates apentagon; FIG. 5F illustrates a specific arrangement of a right-angledtriangle, which will be discussed. As illustrated in FIGS. 4, 5 and 6,the reference line r may extend from a reference point which is arrangedat least at one selected from a group consisting of the followinggeometric terms in respect of the configuration: a centre of symmetry; acentroid; a line of symmetry, a midpoint between two reference units. Inaddition or as an alternative, said line r may extend through orparallel to one or more reference units of the configuration.

As shown in the non-limiting examples of FIGS. 4A, 5A, 5C, 5D, 5F theconfiguration may have an arrangement from which a single direction ofthe reference line r can be uniquely identified. The direction of thereference line may be approximate, which will be discussed in moredetail following. Said arrangement may be achieved by configuring thearrangement to have a single line of symmetry through which thereference line r extends, whereby the spacing of the reference units maybe utilised to discriminate line direction. An example of which is shownin FIGS. 5A, 5C and 5D. Said arrangement may be achieved by configuringthe arrangement to have a side defined by one or more reference unitsthrough which the reference line r extends or extends parallel thereto,in particular the side may have a characteristic spacing of referenceunits and/or a particular orientation with respect to other referenceunits of the configuration. An example of which is shown in FIGS. 4A, 5Fand 6A-F, whereby the units that define the orientation of the referenceline r are those in the further most anti clockwise direction, oralternatively put, those which form the upstanding direction of an ‘L’shape. In the particular example of FIG. 5F whereby the vertices of saidtriangle are arranged on a circular line, which is concentric theencoding line such that the reference point is arranged at the centre ofthe circular line. Such an arrangement is particularly compact as thecircular line can have a diameter of 150-300 μm.

The configuration may be arranged with the reference point 102 at thecentre of the circular encoding line D. One advantage is that the centreof a Polar coordinate system can be conveniently determined by locatingthe configuration and finding the reference point. In the illustratedembodiments the configuration is located entirely within a locus definedby the or each encoding line D. However in other embodiments it may belocated external said locus or a combination of internal and external.

In embodiments the code may comprise a plurality of discrete positions118, 119, whereby said discrete positions either comprise or do notcomprise a unit. In FIGS. 6A, 6B, 6C and 6E the discrete positions 118,119 are shown for illustrative purposes only, that is to say they do notrequire physical formation as part of the code, rather they can bedefined virtually when an image of the code is processed as will bediscussed. The discrete positions 118, 119 may be arranged in variouslocations within the planform 104 of the code 74.

There may be one or a plurality of the discrete positions 118, 119, e.g.any number up to 40 or 60. The discrete positions 118, 119 can becircumferentially disposed, with adjacent positions equidistant eachother, about one or more circular lines which are concentric theencoding line(s) D. Alternatively the discrete positions 118, 119 canhave an arbitrary arrangement.

In embodiments, discrete positions 118 are arranged external theaforedescribed locus of the or each encoding line D, wherein there issufficient space to have a suitable plurality of said positions, such anarrangement is shown in the non-limiting illustrating examples of FIG.6A-F. In embodiments, discrete positions 118, 119 are arranged internalsaid locus or a combination of internal and external as shown in thenon-limiting illustrating example of FIGS. 6B-F. The location ofdiscrete positions 118, 119 may for example be defined relative to thelocation of the configuration 88 of the code 74, i.e. relative to theplanform 104 and orientation of the code 74, or they may be definedrelative to one or more variable elements of the code, for examplerelative to one or more data units 82 able to occupy any continuousdistance d along an encoding line D as discussed above.

In the non-limiting illustrating examples of FIGS. 6B-F, the code 74 forexample comprises discrete positions 118 arranged external the locus ofthe encoding lines D and discrete positions 119 arranged internal saidlocus. The location of each discrete position 118 external the locus ispreferably defined relative to the configuration 88 of reference units86, i.e. relative to the planform and orientation of the code 74. Thesediscrete positions 118 external the locus may thus be referred to asabsolute discrete positions 118. The discrete positions 119 arrangedinternal the locus are for example located on one or more encoding linesD at a determined distance from the corresponding data unit 82, or groupof data unit 820, that may occupy any continuous distance d along theencoding line D. These discrete positions 119 internal the locus maythus be referred to as relative discrete positions 119, as theirlocation is relative to the variable position of a variable element ofthe code, namely relative to the location of a data unit, or of a groupof data units 820, at a distance d that encodes a parameter.

In a particular embodiment illustrated by the non-limiting example ofFIG. 6C, the code 74 comprises a configuration 88 arranged internal thelocus of the encoding lines D. The configuration for example comprisesthree reference units 86 arranged in the shape of a right-angledtriangle, i.e. in an “L” shape. The midpoint between the two referenceunits 86 that form the upstanding direction of the “L”-shape, moreparticularly the midpoint between their centres, is the reference point102 from which the reference line r extends. In the illustrated example,the orientation of the reference line r is furthermore defined by thesame two reference units 86, the reference line r extending from thereference point 102 through the reference unit 86 arranged at the upperextremity of the “L”-shape, preferably through the centre of saidreference unit. Other shapes of configuration, such as the oneillustrated for example in FIGS. 4 and 5 are however possible within theframe of the present embodiment.

The code comprises concentric encoding lines D, for example fiveencoding lines D₁-D₅, on which at least one group of data units 820 maybe arranged at any distance d along the corresponding encoding line D.The group of data units 820 for example comprises two data units 82arranged at a determined distance x from each other along the encodingline D. The distance d encoded by the group of data units 820 along thecorresponding encoding line D is for example determined by the midpointbetween the two data units 82 of the corresponding group of data units820, similarly to what is explained further below in relation with FIG.8D. The encoded distance d is thus for example the distance between thereference line r and a midpoint of the group of data units 820 along thecorresponding encoding line D, i.e. the average of the distance betweenthe reference line r and the first data unit 82 of the group of dataunits 820 and the distance between the reference line r and the seconddata unit 82 of the group of data units 820. Defining the distance dencoding a parameter with a group of data units 820 as the averagedistance between two or more data units 82 of the group 820 and thecorresponding reference position allows achieving a greater accuracy indetermining the distance d and/or the corresponding angle to thereference line r. Alternatively, the distance d may be determined by theposition of one data unit 82 only of the group of data units 820.

The code 74 further comprises discrete positions 119 arranged on one ormore encoding lines D, whereas each discrete position 119 may comprise adata unit 82 to at least partly encode a parameter. In the illustratedexample, eight discrete positions 119 are for example arranged on eachof two encoding lines D₄, D₅, thereby allowing encoding eight bits ofdigital information on each one of these two encoding lines D₄, D₅.Other numbers of discrete positions per encoding line D, for example anynumber of discrete positions between 1 and 16, are however possiblewithin the frame of the present embodiment. Discrete positions mayfurthermore be arranged on a different number of encoding lines D,different numbers of discrete positions being for example arranged ondifferent encoding lines D, depending for example on the availablespace. The discrete positions 119 arranged on the encoding lines D arespaced apart from each other and from the closest data unit 82 of thecorresponding group of units 820 by distances different from thedistance x that separates two data units 82 of a group of units 820.This allows, for example upon decoding the code 74, discriminating dataunits 82 belonging to a group of data units 820 from data units 82arranged at discrete positions along the same or other encoding lines D.Adjacent discrete reference positions on a same encoding line D are forexample all separated from each other, e.g. their centres are separatedfrom each other, by a same distance y. In order to avoid a confusionbetween the data units 82 of a group of units 820 and two data units 82on adjacent discrete positions 119, distance y is different fromdistance x. Preferably, distances x and y are furthermore not multiplesof each other. In embodiments, the distance between the closest dataunit of a group of units and the adjacent discrete position 119 on thesame encoding line D is equal or greater than the distance y between twoadjacent discrete positions 119. Distance x is for example 110 μm, whiledistance y is 140 μm. Other values for these distances are of coursepossible. In particular, the distance x between two data units of agroup of units 820 may be greater than the distance y between twoadjacent discrete positions.

For similar reasons as the ones discussed above, distances x and y arefurthermore different from the distance z that separates two adjacentreference units of the reference configuration 88, and are preferablyneither multiples nor divisors of said distance z.

Alternatively, one or more encoding line D may comprise only discretepositions 119.

The code according to the embodiment illustrated in FIG. 6C mayfurthermore comprise further discrete positions 118 external the locusof the encoding lines D, whose locations are preferably determinedrelative to the planform of the code 74, i.e. relative to the locationand orientation of the configuration 88 of the reference units 86. Thenumber of discrete positions 118 external the locus of the encodinglines D may vary, depending for example on the type and quantity ofinformation to be encoded, the available space, etc. The discretepositions 118 external the locus of the encoding lines D are preferablyspaced apart from each other and from the closest encoding line D₅, suchthat a distance between two data units 82 at these discrete positions118 may not be equal to the distance x between two data units 82 of agroup of data units 820.

FIG. 6D shows the code 74 of FIG. 6C as it would appear for example whenapplied, for example printed, embossed or otherwise applied, on acontainer or on an attachment for a container or a machine, where onlyunits 76 are visible, without any of the virtual encoding lines,planform boundaries and computed elements such as the reference line anddistances to the group of data units.

FIG. 6E illustrates another non-limiting example of an embodiment of thecode 74. According to this example, the code 74 comprises aconfiguration 88 arranged internal the locus of the encoding lines D.The configuration for example comprises three reference units 86arranged in the shape of a right-angled triangle, i.e. in an “L” shape.The vertices of the right-angle triangle, i.e. the three reference units86 of configuration 88, more particularly their centres, are located ona circular line (not shown) whose centre defines the reference point 102of the code 74 from which the reference line r extends. In theillustrated example, the orientation of the reference line r isfurthermore defined parallel to a line extending through, preferablythrough the centres of, the reference units 86 that form the upstandingdirection of the ‘L’ shape. Other shapes of configuration, such as theone illustrated for example in FIGS. 4 and 5 are however possible withinthe frame of the present embodiment.

The code comprises concentric encoding lines D, for example fourencoding lines D₁-D₄, on which at least one group of data units 820 maybe arranged at any distance d along the corresponding encoding line D.The group of data units 820 is for example a pair of data unitscomprising two data units 82 separated from each other by a determineddistance x along the encoding line D. The distance d encoded by thegroup of data units 820 along the corresponding encoding line D is forexample determined by the midpoint between the two data units 82 of thecorresponding group of data units 820, similarly to what is explainedfurther below in relation with FIG. 8D. The encoded distance d is thusfor example the distance between the reference line r and a midpoint ofthe group of data units 820 along the corresponding encoding line D,i.e. the average of the distance between the reference line r and thefirst data unit 82 of the group of data units 820 and the distancebetween the reference line r and the second data unit 82 of the group ofdata units 820. Defining the distance d encoding a parameter with agroup of data units 820 as the average distance between two or more dataunits 82 of the group 820 and the corresponding reference positionallows achieving a greater accuracy, for example when encoding and/ordecoding the code 74, in determining the distance d and/or thecorresponding angular distance or angle to the reference line r inradians or degrees. Alternatively, the distance d may be determined bythe position of one data unit 82 only of the group of data units 820.

In the non-limiting example illustrated in FIG. 6E, a first parameter isfor example encoded by an angle of 25° at the reference point 102between the reference line r and the midpoint of the group of data units820 on encoding line D₁, a second parameter is encoded by an angle of50° at the reference point 102 between the reference line r and themidpoint of the group of data units 820 on encoding line D₂, a thirdparameter is encoded by an angle of 100° at the reference point 102between the reference line r and the midpoint of the group of data units820 on encoding line D₃, and a fourth parameter is encoded by an angleof 200° at the reference point 102 between the reference line r and themidpoint of the group of data units 820 on encoding line 04. The angularvalues indicated above, from which the distances d₁-d₄ can be calculatedusing the preferably stored radius of the corresponding encoding lineD₁-D₄, are only illustrative and in no way limiting. In particular,these angles, and thus the corresponding distances d₁-d₄ will bemodified for encoding different values of the corresponding parameters.

As explained further below, the correspondence between the distance d,and/or the corresponding angular value, and a value for thecorresponding parameter is for example stored for each parameter in alook-up table, which is stored for example in a memory unit of a systemaccording to a fourth aspect, or calculated according to a formulastored in said system.

The code 74 further comprises discrete positions 119 arranged on one ormore encoding lines D, whereas each discrete position 119 may comprise adata unit 82 to at least partly encode a parameter. In the illustratedand in no way limiting example, all discrete positions 119 are forexample shown to comprise a data unit 82, which may correspond to thesituation where all corresponding data bits have been encoded to thevalue “1”. It will be understood however that each discrete position 119may comprise or not a data unit, depending on the information to beencoded at said discrete positions.

In the illustrated example, two discrete positions 119 are arranged onencoding line D₁, five on encoding line D₂, nine on encoding line D₃,and twelve on encoding line 04, thereby allowing encoding twenty-eightbits of digital information on the encoding lines D₁-D₅, in addition tothe parameters encoded by the distances d₁-d₄, or their correspondingangular value in radians or degrees as discussed above. Other numbers ofdiscrete positions per encoding line D, for example any number ofdiscrete positions between 1 and 16, are however possible. Discretepositions may furthermore be arranged on a different number of encodinglines D, different numbers of discrete positions being for examplearranged on different encoding lines D, depending for example on theavailable space.

As explained above in relation with other embodiments of code 74, thediscrete positions 119 arranged on the encoding lines D are spaced apartfrom each other and from the closest data unit 82 of the correspondinggroup of units 820 by distances different from the distance x thatseparates two data units 82 of a group of units 820. This allows, forexample upon decoding the code 74, discriminating data units 82belonging to a group of data units 820 from data units 82 arranged atdiscrete positions along the same or other encoding lines D. Adjacentdiscrete reference positions on a same encoding line D are for exampleall separated from each other, e.g. their centres are separated fromeach other, by a same distance y. In order to avoid a confusion betweenthe data units 82 of a group of units 820 and two data units 82 onadjacent discrete positions 119, distance y is different from distancex. Preferably, distances x and y are furthermore not multiples of eachother. In embodiments, the distance between the closest data unit of agroup of units and the adjacent discrete position 119 on the sameencoding line D is equal or greater than the distance y between twoadjacent discrete positions 119. In the illustrated and non-limitingexample, distance x is for example 360 μm, while distance y is 240 μm.Other values for these distances are of course possible.

The code according to the non-limiting example illustrated in FIG. 6Efurthermore comprises further discrete positions 118 external the locusof the encoding lines D, whose locations are determined relative to theplanform of the code 74, i.e. relative to the location and orientationof the configuration 88 of the reference units 86. The number ofdiscrete positions 118 external the locus of the encoding lines D mayvary, depending for example on the type and quantity of information tobe encoded, the available space, etc. The discrete positions 118external the locus of the encoding lines D are preferably spaced apartfrom each other and from the closest encoding line D₅, such that adistance between two data units 82 at these discrete positions 118 maynot be equal to the distance x between two data units 82 of a group ofdata units 820. In the illustrated example the code 74 comprises fourfurther discrete positions 118 located on a circular line external thelocus of the encoding lines D, each further discrete position 118 beingfor example located closest to a corresponding angle of a rectangularplanform of the code. The code 74 of the non-limiting example of FIG. 6Ethus comprises a total of thirty-two discrete positions allowingencoding up to thirty-two bits of information by arranging or not a dataunit 82 on each discrete position 119, 118.

FIG. 6F shows the code 74 of FIG. 6E as it would appear for example whenapplied, for example printed, embossed or otherwise applied, on acontainer or on an attachment for a container or a machine, where onlyunits 76 are visible, without any of the virtual encoding lines,planform boundaries and computed elements such as the reference line anddistances to the group of data units.

In embodiments, and with reference to FIGS. 6A to 6F, one or more of thediscrete positions 118 may form a component of the reference portion 80.In addition one or more of these discrete positions 118 may form acomponent of the data portion 78, such that they at least partiallyencode a parameter of the preparation information. One or more of thediscrete positions 118 may simultaneously form a component of thereference portion 80 and of the data portion 78, such that they at leastpartially encode a parameter of the preparation information while atleast one unit present at one of these one or more discrete positionsmay be used to define the reference line r of the code, in particular toaccurately define, or correct, its direction.

In advantageous embodiments the code comprises discrete positions 118 incombination with a configuration 88 from which a direction of thereference line r can be identified therefrom as discussed in the above.Such embodiments are shown for example in FIGS. 6A-F. Referring to thefigures it will be understood that the approximate direction of thereference line r can be determined of the configuration 88 in the mannerdiscussed above in respect of FIG. 4A. Once the reference line r is atleast approximately defined the discrete positions 118 whose locationsare set relative to the configuration 88, i.e. the absolute discretepositions 118, can be determined therefrom (i.e. via a storedrelationship between the reference line r, i.e. the location andorientation of configuration 88, and the locations of said absolutediscrete positions 118) and checked for a unit. In the event that one ormore units is present, then one or more of these units (preferably thecentral location of the units) can be used to refine the direction ofthe reference line r. An angular distance between the approximatelydefined reference line r and the absolute discrete position 118 of theunit 82 is for example determined, i.e. the angle in radians or degreesbetween a radial line to the unit (typically its centre) and thereference line r is measured, and compared with a stored value for saidangle. The previously approximately defined reference line r is thenaccurately defined, or corrected, on the basis of the difference betweenthe measured and the stored angular distances, and/or the previouslydetermined reference line r is replaced by a corrected reference line rdefined to extend at the stored angular distance from the correspondingabsolute discrete position 118 at the reference point 102. In such anembodiment it will be understood that it is advantageous to have thediscrete positions 118 which are used for this purpose arranged externalthe loci of the or each encoding line D, because the longer the distanceis between the reference point 102 from which the reference line rextends and the discrete position(s) 118 used for determining adirection of said reference line r, the higher the precision of thedetermination of said direction can be.

The discrete positions 118, 119 are particularly advantageous inencoding parameters that can only assume particular values, e.g. one ormore of a phase number, expiry date, container identifier. As an exampleof the encoding, there are n discrete positions 118, 119 each encoding abit by the absence or presence of a data unit 82. Hence for: threeencoding positions 118, 119 there are 23, i.e. 8 variables; fourencoding positions 118, 119 there are 24, i.e. 16 variables, etc. Theaforesaid variables can be used to encode: a particular number ofphases, e.g. 8 or 16 phases; an expiry date, e.g. 12 variables for amonth and a suitable number of variables from the product released datefor the year.

As an alternative to the discrete positions being used as part of thereference portion, the reference portion may comprise a furtherreference unit, which is arranged at a greater radial position from saidconfiguration than the data units and/or at a predetermined reservedradial position from said configuration. One advantage is that thereference line r can be conveniently identified by locating theconfiguration and then a further reference unit arranged at either thegreatest or a predetermined distance therefrom. The further referenceunit may be defined as arranged at said distance from the referencepoint. The reference line r may be defined to extend through the centreof the further reference unit. The further reference unit is preferablylocated external the locus defined by the or each encoding line D.

In an embodiment there may be a plurality of such codes 74, wherein areference line r of a code 74A is determined by its configuration 88 ofreference units and a like configuration of reference units of anothercode 74B-74D. One advantage is that no further reference units arerequired in a particular code other than those of its configuration 88,thus maximising the encoding density of the codes. In particular, thereference line r may extend though a reference point 102 defined by theconfiguration of one or more further codes, for example, a further codearranged adjacent thereto whereby the planforms of said codes share acommon side. Alternatively, if an adjacent code is offset, then thereference line r may be defined to extend with said offset from thereference point of the adjacent code. FIGS. 7A and 7B illustrate nonlimiting examples of such embodiments. As illustrated in FIG. 7A thereference line r may be arranged to extend though a reference pointdefined by the configuration 88 of one or more other codes 74C,preferably of an adjacent code. As illustrated in FIG. 7B the referenceline r may extend at a known position with respect to the configurationof the adjacent codes 74B, 74C, 74D.

The reference line r may be arranged a predetermined minimum distanceaway from the encoding area 90 of the data portion 78, e.g. by 50 μm-150μm or 100 μm, to ensure adequate separation of the reference units 86and data units 82, i.e. a radially extending portion is cut from itsannular shape. Such an example is preferable when the referencepositions comprise reference units 86.

Alternatively, as shown in the illustrated example, the reference line rextends through the encoding area 90, i.e. it radially intersects itsannular shape.

The data portion 78 generally comprises an encoding area 90 which isannular whereon the data units 82 thereof are arranged, whereby thereference line r extends radially from a centre of the annular encodingarea 90. The encoding lines D are concentrically arranged and extendfrom the reference line r about the centre of the annular encoding area90. A point of intersection between the encoding line D and referenceline r is locally orthogonal and defines the reference position 84. Eachdata unit 82 may have a corresponding reference unit 86 at theassociated reference position 84. Advantageously the reference positionsare easy to locate. Alternatively (as shown in the figures) preferablythe reference position 84 does not have a reference unit 86, whereby thereference position 84 is defined virtually on the reference line r, e.g.it is interpolated by a predetermined distance from an adjacentreference unit 86. Advantageously the data units can be arranged incloser proximity to the reference line r.

More than one data unit 82 or group of data units 820 can be arrangedalong an encoding line D, e.g. so that multiple parameters are encodedon an encoding line D or so that each parameter has multiple valuesassociated therewith, examples of which will be provided. A value of aparameter is encoded by the circumferential distance d of the data unit82 from its associated reference position 84.

To ensure adequate spacing between data units on adjacent encodinglines, the optional block shaded regions arranged co-axial the encodinglines D define bounds of positions of associated data units 82. Theblock shaded regions are shown for illustrative purposes only, that isto say they do not require physical formation as part of the code,rather they can be defined virtually when an image of the code isprocessed as will be discussed.

Generally a data unit 82 can be arranged on the associated encoding lineD any position up to but not extending over the reference position 84,i.e. up to 360° from the reference line r.

Encoding of Metadata

Each data unit 82 optionally encodes metadata about an associatedparameter. The metadata is generally encoded discretely, i.e. it canonly assume certain values. Various examples of encoding the metadataare given following.

In a first embodiment, an example of which is illustrated in FIG. 8A,the metadata is encoded as a characteristic size (e.g. the size definedby the above-defined unit length or area) of the data unit 82, the sizebeing identifiable as a variable by the image processing device 92.Particularly, the size may be one of a list of 2 or 3 or 4 particularsizes, e.g. selected from lengths of 60, 80, 100, 120 μm. In aparticular example, which is best illustrated for the data unit 82associated with the third reference position 843, the size of the dataunit 82 may be one of three sizes. In a particular example, which isillustrated in association with the second reference position 844, thereare three parameters encoded (hence three data units), the data unit 82of each parameter being identifiable by the metadata of the threedifferent sizes of the data units 82.

In a second embodiment, an example of which is illustrated in FIG. 8B,the metadata is encoded as a characteristic position of the data unit 82with respect to an offset of said data unit 82 along an offset linewhich extends in a direction orthogonal to the encoding line D (i.e. aradial distance and/or a distance orthogonal to a tangent drawn from theencoding line D to the centre of the data unit 82). In spite of saidoffset the encoding line D still intersects the data unit 82. Inparticular: the data unit 82 may be offset in a first or second positionwith respect to the encoding line D to encode two values of themetadata; the data unit 82 may be offset in the first or second positionor arranged in a third position on the encoding line D to encode threevalues of the metadata. The first and second position may be defined bya centre of the data unit 82 arranged a particular distance away fromthe encoding line D, e.g. at least 20 μm. The third position may bedefined by a centre of the data unit 82 arranged less than a particulardistance away from the encoding line D, e.g. less than 5 μm. In aparticular example, which is illustrated in association with the thirdreference position 843, the data unit 82 may be in a first or secondposition to encode the metadata. In a particular example, which isillustrated in association with the second reference position 842, thereare three parameters encoded (hence three data units), the data unit 82of each parameter being identifiable by the metadata of the position ofthe data units 82.

In a third embodiment, an example of which is illustrated in FIG. 8C andreferring to the third reference position 843, the metadata is encodedas a characteristic position of one or two data units 82 with respect totheir arrangement on either side of the reference line r. As examples: adata unit 82 on the left of the reference line r may encode a negativevalue of the parameter and a data unit 82 on the right of the referenceline r may encode a positive value of the parameter or the conversearrangement; for the same parameter a data unit 82 on the left of thereference line r may encode a mantissa, a data unit 82 one the right ofthe reference line r may encode an exponent or the converse arrangement;a data unit 82 on the left of the reference line r may encode the sameparameter as that on the right such that an average can be taken forenhanced accuracy. In this embodiment the encoding area 90 is preferablyseparated into two distinct semi-circular sub-sections 90A, 90B eachhaving an associated data unit 82 arranged therein, e.g. the maximumdistance d for either is on the portion of the reference line r commonto the second and third quadrants (or proximal thereto such that twodata units are not arranged coincident).

In a fourth embodiment, an example of which is illustrated in FIG. 8Dand referring to the third reference position 843, metadata is encodedas a plurality of data units 82 arranged along the same encoding line D,each with a different associated distance dn. Advantageously an overalldistance d can be determined with increased accuracy as a function(typically an average) of the distances dn. In the illustrated exampletwo data units 82 are shown wherein d=(d₁+d₂).

In a fifth embodiment (not shown) the metadata is encoded as acharacteristic shape. For example the shape may be one of a list of:circular; triangular; polygon. In a sixth embodiment (not shown) themetadata is encoded as a characteristic colour. For example the colourmay be one of a list of: red; green; blue, suitable for identificationby an RGB image sensor.

The first-sixth embodiments may be suitably combined, e.g. an encodedparameter may have metadata encoded with a combination of the first andsecond embodiment.

A specific example of the code 74 for use for example with a containerprocessing subsystem 14 such as the one illustrated in FIG. 1A, isillustrated in FIG. 8E, wherein: the first 841, third 843 and fourth 844reference positions 86 have associated therewith a data unit 82 thatencodes a parameter without any metadata; the second reference position842 has three data units 82, each encoding a parameter, the parameterhaving metadata encoded according to a combination of the first andsecond embodiment (i.e. 3 values for the size of the unit and 3 valuesfor the position of the unit, hence a total of 9 possible values of themetadata).

In particular: the first reference position 84 encodes a percentagecooling power to apply; the third and fourth reference positions 84encode either of the radial angular velocity W1 and the gyration angularvelocity W2; the second reference position encodes time, temperature,torque as the respective small, medium and large data units inparticular positions, whereby these parameters represent triggers suchthat when a condition set by one of them is achieved then the phaseencoded by the code 74 is compete.

Method of Processing Code

The code processing subsystem 18 processes the code 74 to determine thepreparation information by: obtaining by means of the image capturingdevice 106 a digital image of the code; processing by means of the imageprocessing device 92 digital data of the digital image to decode thepreparation information; outputting by means of the output device 114said decoded preparation information.

Processing of the digital data comprises: locating the units 82, 86 inthe code; identifying the reference units 86 and determining therefrom areference point and/or a reference line r; determining for data units 82or groups of data units 820 a distance d along the associated encodingline D from the reference line r; and/or an angle in degrees or radiansat the reference point 102 from the reference line r, converting thedetermined distance d and/or angle into an actual value of a parameterV_(p), each of which will be described sequentially.

Locating the units 82, 86 in the code is generally achieved byconversion of the pixels represented in the digital data to a one-bitbi-tonal black and white image, i.e. a binary image, whereby theassociated conversion parameters are set to distinguish the units fromtheir surrounding base level. Alternatively an oversampled binary imagesensor may be used as the image capturing device 106 to provide thebinary image. Locations of the centre of units may be determined by afeature extraction technique such as circle Hough Transform. Differentsized units may be identified by pixel integration.

Identification of the reference units 86 and determining therefrom areference point and/or a reference line r generally comprisesidentifying a configuration 88 of reference units. Identifying aconfiguration of reference units may comprise locating reference unitswhich have a particular unique configuration as discussed above. Inparticular, stored information relating to the geometry of the centrepoints of reference units comprising the configuration can be used tosearch for this arrangement in the located units.

Determining the reference line r from the configuration 88 may comprisedetermining from the configuration a reference point 102 from whichreference line r extends. In particular, the location of the referencepoint in respect of the configuration may be part of the aforesaidstored information. Determining the reference line r from theconfiguration may further comprise determining the reference line asextending through or parallel to one or more reference units of theconfiguration.

Determining the reference line r from the configuration may furthercomprise identifying a unit arranged at least one of a plurality ofdiscrete positions 118 as discussed above. In particular it may compriserefining an initial vector of the reference line r determined using theconfiguration 88 (e.g. those of FIGS. 4A, 5A, 5C and 5D) by using theunit of said at least on discrete position. Alternatively it maycomprise determining a reference unit with a greater radial positionfrom the configuration than the data units and/or at a predeterminedreserved radial position from the configuration.

In embodiments comprising a plurality of such codes 74, as illustratedin FIG. 7, determining the reference line r for a first code 74A maycomprise determining the reference line as extending from the referencepoint 102 of the configuration 88 of said first code and through or inrelation to a reference point defined by the configuration of at leastone other code 74B-74D. The arrangement of the reference line withrespect to the reference points of further codes it will be appreciatedis a stored relationship. Determining the reference line r of a code 76Afor example comprises two parts, or phases: a first phase comprisesapproximatively determining the reference line r using the referenceunits 86 of configuration 88 of the code 74A itself, and a second phasecomprises accurately determining, or correcting, the previouslydetermined reference line r using configuration 88 of at least one othercode 74B-74D, preferably of an adjacent code. The first phase forexample comprises the steps of: determining from the configuration 88 areference point 102 of the code 74A from which reference line r extends;approximatively determining the direction of the reference line r fromthe configuration 88, for example as extending through or parallel toone or more reference units 86 of code 74 A. The second phase forexample comprises the steps of: identifying a like configuration ofanother code 74B-74D, preferably of an adjacent code 74B; determining areference point of said another code 74B-74D; correcting the referenceline r as extending through the reference point of the adjacent code74B-74D or at a known position with respect to the reference point ofthe adjacent code 74B-74D.

In an embodiment of the code which does not comprise a configuration,identification of the reference units 86 and determining therefrom areference line r, may be achieved by identification of one or acombination of: units that have a linear arrangement; units that are apredetermined and/or greatest distance apart; units that are aparticular shape or size or colour; units with a particularconfiguration.

Determining the reference point and the reference line r when processingthe code allows determining the orientation of the code in the capturedimage prior to decoding the information. The image of the code may thusbe captured in any direction without affecting the decoding accuracy.The container bearing the code thus doesn't need to be aligned in aspecific orientation relative to the image capturing device, therebysimplifying the construction of the machine and the processing of thecontainer in the machine. In that sense, it is not necessary to requirethe consumer to orientate the container before inserting it into thefood or beverage preparation device. Usage of a container bearing a codeaccording to the invention is thus user-friendly.

Determining for data units 82 or groups of data units 820 a distance dalong the associated encoding line D from the associated referenceposition 84 of the reference line r may be achieved by identification ofsingle data units 82 that are a predetermined and/or greatest distanceaway from other units or by identification of groups 820 of units thatare a predetermined distance apart; determining the circumferentialdistance or the angle at the reference point 102 from the centre of adata unit 82 or from a determined point, for example a midpoint, of agroup of units 820, to the associated reference position 84. Determiningthe circumferential distance is conveniently achieved by the product of:an angle in radians at the reference point 102 between the referenceline r and a radial line to the data unit 82 or to the determined pointof the group of data units 820; and the overall circumference of theencoding line D (which is defined by the associated reference position84). Alternatively determining said distance d may comprise determiningan angular distance, i.e. by means of the angle in radians between thereference line r and a radial line to the data unit 8 (typically itscentre), whereby the radial distance may be used to identify the dataunit with respect to a reference position. The latter is preferablysince less processing steps are required, moreover the precise radialdistance is not required such that compensation for optional metadataencoding is obviated.

The determined distance d can be corrected using the magnificationand/or distance of the image capturing device 106 away from the code 74when the image was captured.

Converting the determined distance d into an actual value of a parameterV_(p) may comprise using stored information (e.g. information stored onthe memory subsystem 112) which defines a relationship between theparameter and distance d. This step may be performed at the imageprocessing device 92 or processing subsystem 50. The relationship may belinear, e.g. V_(p)α d. Alternatively it may be non-linear. A non-linearrelationship may comprise a logarithmic relationship, e.g. V_(p)α log(d)or an exponential relationship, e.g. V_(p)αe^(d). Such a relationship isparticular advantageous when the accuracy of a parameter is important atlow values and less important at high values or the converse e.g. forthe second embodiment of the container processing subsystem 14 theaccuracy of the angular velocities W1, W2 of the mixing unit are moreimportant at a low angular velocity than at a high angular velocity,hence an exponential relationship is preferable.

As the circumference of the encoding lines D decreases with proximity tothe centre of the annular encoding area 90 (i.e. the location of theconfiguration 88 in the illustrated examples) the accuracy of thedetermined distance d is less. Advantageously, the parameters thatrequire a higher level of precision can be arranged distal said centreand those that do not require a high level of precision can be arrangedproximal said centre. As an example, for the second embodiment of thecontainer processing subsystem 14, the accuracy of the angularvelocities W1, W2 of the mixing unit are more important hence they arelocated distal said centre, and the accuracy of the percentage coolingpower is less important hence it is located proximal said centre.

The aforesaid metadata about the parameter can be determined dependingon the embodiment of encoding, e.g.: in the first embodiment bydetermining for the associated data unit 82 a unit length by featureextraction or overall area by pixel integration; in the secondembodiment by determining for the associated data unit 82 an offset tothe encoding line D by feature extraction; in the third and fourthembodiment by determining the centre of the associated data units byfeature extraction.

Referring to the illustrative example of FIGS. 6A-F, in embodimentscomprising discrete positions 118, 119, processing of the digital datamay further comprise determining the location of the discrete positions118, 119, and determining if they comprise a data unit 82, and derivingtherefrom a parameter V_(p), or a characteristic of a parameter V_(p),which may be encoded by the data unit 82 of the encoding line D.

Determining the location of discrete positions 118, 119 may compriseusing the identified position of the reference line r. It may furthercomprise using: stored information (i.e. information stored on thememory subsystem 112) e.g. there are a known number of discretepositions 118 arranged at known locations with respect to the positionof the reference line r; and/or with respect to the arrangement of adata unit 82 or group of data unit 820 along an encoding line D whichmay encode the number and/or arrangement of discrete positions 119 (e.g.certain positions of the data unit 82 or group of data unit 820 encodeparticular configurations of the discrete positions 119). Determining ifthe discrete positions 118, 119 comprise a data unit 82 may comprisefeature extraction or other known technique. Deriving from the presenceof the data units 82 at the discrete positions 118, 119 a parameterV_(p) may comprise using stored information (e.g. a look up table storedon the memory subsystem 112) to decode the encoded parameter(s).

According to embodiments of the code, each data unit 82 or group of dataunits 820 encoding a distance d along a corresponding encoding line Dencodes the value V_(p) of another parameter required for thepreparation of the desired foodstuff/beverage. For example, each dataunit 82 encoding a distance d along an encoding line D encodes the valueof a processing parameter such as a processing temperature, a processingtime, a liquid volume, a mixing speed, etc. for a particular preparationphase, different from the parameters whose values are encoded by theother such data units 82 of the code.

Machine and Container Attachments

An attachment 94 may comprise the afore-described code 74 arranged on asurface thereof, the attachment 94 configured for attachment to theafore-described beverage or foodstuff preparation machine 4. Theattachment, an example which is illustrated in FIG. 9, comprises: acarrier 96 for carrying the code 74; an attachment member 98 forattachment of the carrier 96 to the machine 4 between an image capturingdevice 106 of said machine 4 and a container 6 received by said machine4 and proximate said container. In this way an image of the code 74 canbe captured by the image capturing device 106 as if it were attached tothe container 6. Examples of suitable attachment members comprise:extensions attached to said carrier comprising an adhesive strip (asillustrated); a mechanical fastener such as a clip, bolt or bracket. Theuse of such an attachment 94 is particularly useful if: only one type ofcontainer 6 is used on the machine 4; a clean or other maintenancerelated operation is required.

An alternate attachment 100 may comprise the afore-described code 74,arranged on a surface thereof, the attachment 100 configured forattachment to any of the afore-described containers 6. The attachment100, an example which is illustrated in FIG. 10, comprises: a carrier 96for carrying of the code 74; an attachment member 98 for attachment ofthe carrier 96 to the container 6. In this way an image of the code 74can be captured by the image capturing device 106 as if it were formedintegrally one the container 6. Examples of suitable attachment memberscomprise: an adhesive strip (as illustrated); a mechanical fastener suchas a clip, bolt or bracket. The use of such an attachment 94 isparticularly useful if: an end-user defined recipe is applied to thecontainer 6; a clean or other maintenance related operation is required;it is more cost effective to form the code 74 on a substrate separatefrom the container 6 and attach said substrate to the container.

Example 1

According to this example, the beverage preparation machine is a coffeemachine adapted to prepare coffee and/or coffee based beverages bybrewing ground coffee contained in a container, for example in a capsuleor a pouch.

Each container comprises a code printed on its outer surface to be readby the image capturing device of the machine. The code is preferablyprinted with a laser engraved cylinder during production of the laminatematerial from which the containers are made. The code is repeatedlyprinted on the container, preferably in a tessellating manner. The codeis for example repeatedly printed on an entire surface or surfaceportion of the container, such that the image capturing device of thecoffee machine may capture the image of at least one code, or ofportions of codes allowing the image processing device to reconstitutethe code, when the container is correctly inserted in the machine,independently of the particular orientation of the container in themachine.

The code is for example similar to the code illustrated in FIGS. 6E and6F. The code comprises a reference portion comprising three referenceunits 86 arranged in an isosceles right-angled triangle configuration88, i.e. arranged at the vertices of a right-angled triangle with thetwo legs equal. The reference units 86 define a reference point 102 atthe centre of the triangle's circumcircle, i.e. at the centre of thecircle passing through all vertices of the triangle, i.e. through thecentres of the three reference units 86 arranged at said vertices. Areference line r is defined as extending from the reference point 102 ina direction parallel to a leg of the triangle, for example in adirection parallel to the upright portion of the “L”-shape formed by thethree reference units and away from the basis of said “L”-shape. Thecode further comprises a data portion comprising an annular encodingarea arranged around the reference portion and comprising fourconcentric circular encoding lines D₁, D₂, D₃, D₄ centred on thereference point 102, on which data units 82 may be arranged to encodeinformation.

The reference units 86 and the data units 82 are preferably identical inshape, size and colour and are for example dots having a diameter of 60The length of each leg of the right-angled triangle of the referenceportion is for example 125 i.e. the centres of two reference units 86arranged at the opposite ends of a same leg of the right-angled triangleare 125 μm apart. Experiments with a Sonix SN9S102-based image capturingdevice have shown that, in order to avoid confusion between data units82 of the data portion and the reference units 86 of the right-angledtriangle configuration 88 when using such dimension of units and suchdistances between the reference units, two neighbouring data units 82 onan encoding line are preferably separated by a linear distance of atleast 250 μm. At a radius r μm, a linear distance of 250 μm correspondsto an angle at the centre of the encoding line of:

$\propto {= {2 \cdot {\sin^{- 1}\left( \frac{250/2}{r} \right)}}}$

between two adjacent data units. The four encoding lines for examplehave respective radii of R₄=255 μm, R₂=375 μm, R₃=495 μm and R₄=615 μm.A minimal linear distance of 250 μm between two adjacent dots on a sameencoding line thus corresponds to respective minimal angular distancesat the centre of α₁=58.71°, α₂=38.94°. α₃=29.25° and α₄=23 0.45°.

The reference point 102, the reference line r and the encoding lines D₁,D₂, D₃, D₄ are not printed on the container, as illustrated by theexample of FIG. 6F. Only the reference and data units, i.e. the dots,are printed when printing the code 76. The reference point 102, thereference line r and the encoding lines D₁, D₂, D₃, D₄ are constructionelements used when encoding information in order to determine thelocations of the data units 82 relative to the reference units 86 beforeprinting them on the container, and when decoding the preparationinformation by the code processing unit of the coffee machine in orderto retrieve the parameter values encoded by the data units 82.

The encoded preparation information preferably comprises a beveragevolume and temperature, and for example time and pressure information.The parameter values encoded in a code printed on a particular containerare specific to the content of the container, i.e. the parameter valuesencoded on a particular container have been chosen to optimize theprocessing by the coffee machine of the material contained in thecontainer, for example a particular type of ground coffee, in order toachieve the best possible result.

Preparation parameter values that may take on any value within apredetermined range, such as for example volume, temperature, timeduration and/or cut-off pressure values, are encoded in an analogicmanner by a group of data units 820 comprising two data units 82arranged at a distance d from the reference line r along thecorresponding encoding line D, while further information such as producttype, roast level, phase identifier, etc., are preferably encoded in adigital manner by discrete positions 118, 119 located in the planform ofthe code 76, for example on at least some encoding lines, which may ormay not comprise a data unit group 820.

In order to avoid confusion between two data units 82 of a same group820 and two data units located at discrete positions 119, the lineardistance between two data units 82 of a same group 820 is not a multiplenor a divider of the linear distance between two adjacent discretepositions 119 located on an encoding line D. The linear distance betweentwo adjacent discrete positions 119 on a same encoding line is forexample 250 μm, corresponding to the angular distances indicated abovefor each encoding line, while the linear distance between two data units82 of a same group of data units 820 is for example 400 μm. At a radiusr μm, a linear distance of 400 μm corresponds to an angle at the centreof the encoding line of:

$\beta = {2 \cdot {\sin^{- 1}\left( \frac{400/2}{R} \right)}}$

The four encoding lines having respective radii of R₁=255 μm, R₂=375 μm,R₃=495 μm and R₄=615 μm, a linear distance of 400 μm between two dataunits 82 of a same group of data units 820 thus corresponds torespective angular distances at the reference point 102 of β₁=103.31°,β₂=64.46°, β₃=47.66° and β₄=37.96°.

A parameter value is encoded by a group of data units 820 in that bothdata units 82 of the group 820 are placed on either side of the pointcorresponding to a distance d along said encoding line, said distance dencoding the desired parameter value. The data units 82 of the group 820are preferably arranged equidistant from said point, i.e. at an angulardistance of

${\beta/2}{\sin^{- 1}\left( \frac{400/2}{R} \right)}$

on either side of said point. The distance d along the encoding line Dfrom the reference line r, or the angular distance from the referenceline r, encoded by the group of data units 820 is thus an average of thedistances from the reference line r along the encoding line D of bothdata units 82 of the group 820, respectively of the angular distancesfrom the reference line r of both data units 82 of the group 820. In thedescription below, the distance of the group of unit 820 encoding therespective desired parameter value is to be understood as this average.

The temperature parameter value is for example encoded on the inner mostencoding line D₁ having a radius R₁=255 The temperature value may forexample vary from 0° C. to 100° C. The temperature value is for exampleencoded on a useful angular range of 360°-60°=300° in order to avoid anyrisk of confusion between the lowest and the highest possible value ofthe range when decoding the encoded value, for example on a useful rangeextending from an angular distance of 30° from the reference line to anangular distance of 330° from the reference line. The temperature is forexample encoded linearly, where the encoded temperature parameter valueis proportional to the distance from the reference line r along theencoding line D₁, i.e. proportional to the angular distance from thereference line r at the reference point 102. A data unit group 820arranged for example at an angular distance of 30° from the referenceline encodes a temperature value of 0° C., a data unit group 820arranged at an angular distance of 180° from the reference line encodesa temperature value of 50° C. and a data unit group 820 arranged at anangular distance of 330° from the reference line encodes a temperaturevalue of 100° C. The one skilled in the art will understand that thedata unit group 820 may be arranged at any position within the usefulangular range of the first encoding line D₁ in order to correspondinglyencode any desired temperature parameter value within the defined valuerange.

The volume parameter value is for example encoded on the second encodingline D₂ having a radius R₂=375 The volume value may vary from 0 ml to320 ml. The volume value is for example encoded linearly on a usefulangular range of 360°-40°=320° in order to avoid any risk of confusionbetween the lowest and the highest possible value of the range whendecoding the encoded value. The volume value is for example encoded on arange extending from an angular distance of 20° from the reference liner to an angular distance of 340° from the reference line r, wherein adata unit group 820 arranged for example at an angular distance of 20°from the reference line r encodes a volume value of 0 ml, a data unitgroup 820 arranged at an angular distance of 70° from the reference liner encodes a volume value of 50 ml and a data unit group 820 arranged atan angular distance of 340° from the reference line r encodes a volumevalue of 320 ml. The one skilled in the art will understand that thedata unit group 820 may be arranged at any position within the usefulangular range of the second encoding line D₂ in order to correspondinglyencode any desired temperature parameter value within the defined valuerange.

The third encoding line D₃ with a radius R₃=495 μm is for example usedfor encoding a value of the cut-off pressure of the pump injecting waterin the container when brewing the ground coffee contained therein. Thepressure value may vary from 10 bar to 20 bar. The cut-off pressurevalue is for example encoded linearly on a useful angular range of360°-30°=330° in order to avoid any risk of confusion between the lowestand the highest possible value of the range when decoding the encodedvalue. The cut-off pressure value is for example encoded linearly on arange extending from an angular distance of 15° from the reference liner to an angular value of 345° from the reference liner, wherein a dataunit group 820 arranged for example at an angular distance of 15° fromthe reference line r encodes a cut-off pressure value of 10 bar, a dataunit group 820 arranged at an angular distance of 180° from thereference line r encodes a cut-off pressure value of 15 bar and a dataunit group 820 arranged at an angular distance of 345° from thereference line r encodes a cut-off pressure value of 20 bar. The oneskilled in the art will understand that the value range may be defineddifferently depending on the characteristics of the machine's pump.Furthermore, the data unit group 820 may be arranged at any positionwithin the useful angular range of the third encoding line D₃ in orderto correspondingly encode any desired cut-off pressure parameter valuewithin the defined value range.

Optionally, the fourth encoding line D₄ may be used for encoding a timeduration, for example a maximal coffee preparation duration. The timeduration value range may for example extend from 0 s to 330 s. The timeduration value is for example encoded linearly on a useful angular rangeof the fourth encoding line of 360°-30°=330° in order to avoid any riskof confusion between the lowest and the highest possible value of therange when decoding the encoded value. The time duration value is forexample encoded on a range extending from an angular distance of 15°from the reference line r to an angular distance of 345° from thereference line r, wherein a data unit group 820 arranged for example atan angular distance of 15° from the reference line r encodes a durationtime of 0 s, a data unit group 820 arranged at an angular distance of110° from the reference line r encodes a time duration value of 95 s anda data unit group 820 arranged at an angular distance of 345° from thereference line r encodes a time duration value of 330 s. The one skilledin the art will understand that the angular distance values indicatedabove are only illustrative examples and that the data unit group 820may be arranged at any position within the useful angular range of thefourth encoding line D₄ in order to correspondingly encode any desiredtime duration parameter value within the defined value range.

The code further comprises four discrete positions 118 at predeterminedknown locations defined relative to the code's reference line r and/orreference point 102. The code for example comprises one discreteposition 118 located close to each corner of the code's square planform104 as illustrated in FIG. 6E, wherein the discrete positions 118 arelocated on the code's planform 104 and outside the fourth encoding lineD₄.

The code for example further comprises discrete positions 119 arrangedon the encoding lines D₁, D₂, D₃, D₄, at locations defined relative tothe location of the previously defined location of the data unit group820. A first discrete position of each encoding line is for exampledefined at a linear distance of 250 μm in a clockwise direction from thelast data unit 82 of the group of data units 820, and the furtherdiscrete positions of the same encoding line are defined at regularlyspaced locations on said encoding line in a clockwise direction, whereintwo adjacent discrete positions of a same encoding line are separatedfrom each other by a linear distance of 250 μm. The first encoding lineD₁ for example comprises two discrete positions 119, the second encodingline D₂ comprises five discrete positions 119, the third encoding lineD₃ comprises nine discrete positions 119 and the fourth encoding line D₄comprises twelve discrete positions 119. The code thus comprises a totalof 32 discrete positions that each may or may not comprise a data unit,thereby allowing encoding 32 bits of digital information, where thepresence of a data unit for example corresponds to a digital “1” and nodata unit present corresponds to a digital “0”.

At least part of the 32 bits are for example used to encode informationabout the material contained in the container, for example a coffeetype, origin, roasting level, etc.

In an embodiment, the coffee machine is adapted to prepare the coffee inseveral successive preparation phases, for example a pre-wetting phase,a high pressure extraction phase and a low pressure flow phase, whereineach phase requires different temperature, volume, pressure and timeduration parameter values. The parameters for each phase are preferablyencoded separately on different codes that are printed in a tessellatingmanner on the container. In this embodiment, at least some of thediscrete positions of each code, for example two discrete positions percode, are used for encoding the number of the phase whose parameters areencoded in the particular code. The codes relating to the successivephases are then for example printed in columns over the entire surfaceor surface portion of the container, where a first column comprises therepeated code encoding the parameters for the first phase, a secondcolumn comprises the repeated code encoding the parameters for thesecond phase, a third column comprises the repeated code encoding theparameters for the third phase, etc.

When a container is inserted in the coffee machine, the machine's imagecapturing device captures an image of the container's surface. Thedigital image data is provided to the image processing device, whichlooks for a dot configuration 88 corresponding to the right angledtriangle configuration 88 of the reference portion, preferably close tothe centre of the captured image. The image processing device thendetermines the position of the reference point 102 and of the referenceline r from the location of this configuration 88. Optionally, the imageprocessing device looks in a further step for another dot configuration88 of an adjacent code, preferably along the previously calculateddirection of the reference line r. Knowing the relative alignment of thecodes printed in a tessellating manner on the container, the imageprocessing device corrects or adjusts the previously determinedorientation of the reference line r.

The image processing device then determines the position relative to thereference line r of each data unit 82 present in the planform 104centred on said configuration 88 in order to retrieve the encodedparameter values. The image processing device preferably first looks forpairs of data units 82 that are separated from each other by a lineardistance of 400 μm and that are equidistant from the reference point 102in order to identify the data units group 820 of the code. The averagedistance of the data units 82 of each group 820 is then measured and/orcalculated in order to retrieve the corresponding encoded parametervalues. The image processing system furthermore determines whether adata unit 82 is present or not at each discrete position 118, 119, i.e.the image processing device calculates the location of the discreteposition knowing the position of the reference units 86 and of the dataunit groups 820, and then searches the image data corresponding to eachof these locations in order to determine whether a data unit is presentor not. The decoded parameter values and the information bitscorresponding to the discrete positions' data units are then transmittedto the machine's container processing subsystem in order to process thecontainer according to said parameter values and other decodedinformation. If the captured digital image does not encompass any entireplanform of a code, the image processing device reconstructs a planformusing fragments of several neighbouring identical codes captured in theimage. Optionally, the code processing subsystem uses two or more imagesof the container's surface and processes image data of a plurality ofidentical codes in order to perform error detection and/or correction.The two or more images are captured by two or more image capturingdevices and/or by moving an image capturing device relative to thecontainer. Similarly, in the case where parameters for severalpreparation phases are encoded in several codes, the code processingsubsystem uses several images of the container's surface in order toobtain at least one image of each different code.

Example 2

According to this second example, the beverage preparation machine is amachine adapted to prepare various beverages from material contained inone or more containers, typically two containers. The material mainlycomprises soluble ingredients contained in pouches and/or ingredients tobe brewed such as for example ground coffee or tea leaves. The machinefor example allows preparing coffee and milk-based beverages, such aslatte, cappuccino, etc., milk, oat milk or tea beverages, optionallywith add-ons such as for example superfood, vegetables, fruit, nuts,cereals, vitamins, etc., tea, or any combination thereof. The machinecomprises a container processing subsystem comprising two dissolutionunits, or a dissolution and a brewing unit, or a combination thereof, inorder to allow the preparation of beverages by simultaneously orsequentially processing two containers simultaneously present in themachine's container processing subsystem. The machine preferablycomprises at least one image capturing device per dissolution or brewingunit in order to capture at least part of a surface of a containerinserted in said unit.

Each container comprises a code printed on its outer surface to be readby the corresponding image capturing device of the machine. The code ispreferably printed with a laser engraved cylinder during production ofthe laminate material from which the containers are made. The code ispreferably repeatedly printed on the container, preferably in atessellating manner. The code is for example repeatedly printed on anentire surface or surface portion of the container, such that thecorresponding image capturing device of the machine may capture theimage of at least one code, or of portions of codes allowing the imageprocessing device to reconstitute the code, when the container iscorrectly inserted in the machine, independently of the particularorientation of the container in the machine.

The code is for example the code explained above in relation withexample 1 and illustrated in FIG. 6E, 6F.

The temperature parameter value is for example encoded as explainedabove in relation with example 1 on the inner most encoding line D₁having a radius R₁=255 μm.

The volume parameter value is for example encoded as explained above inrelation with example 1 on the second encoding line D₂ having a radiusR₂=375 μm.

The third encoding line D₃ with a radius R₃=495 μm is for example usedfor encoding a value of the cut-off pressure of the machine's pump,however within a range of 0 bar to 20 bar and/or for encoding a flowparameter value ranging from 0 ml/min to 600 ml/min depending on theapplications, container type and/or material contained in the container.

Optionally, the fourth encoding line D₄ may be used for encoding a timeduration, as explained above in relation with example 1.

The code further comprises 32 discrete positions 118, 119 as describedabove in relation with example 1.

At least part of the 32 bits are used to digitally encode informationabout the material contained in the container, for example a milk,coffee or add-on type, the origin, roasting level, flavour, etc., and/orto indicate whether a pressure parameter value or a flow parameter valueis encoded on encoding line D₃.

In an embodiment, the machine is adapted to prepare beverages byprocessing one or more containers in several phases, wherein each phaserequires different temperature, volume, pressure or flow, and timeduration parameter values. The parameters for each phase are preferablyencoded separately on different codes that are printed in a tessellatingmanner on the container. In this embodiment, at least some of thediscrete positions of each code, for example two discrete positions percode, are used for encoding the number of the phase whose parameters areencoded in the particular code. The codes relating to the successivephases are then for example printed in columns over the entire surfaceor surface portion of the container, where a first column comprises therepeated code encoding the parameters for the first phase, a secondcolumn comprises the repeated code encoding the parameters for thesecond phase, a third column comprises the repeated code encoding theparameters for the third phase, etc.

When one or two containers are inserted in the machine, the machine'simage capturing devices capture images of the containers' surface. Thedigital image data is provided to the image processing device, whichlooks in each image for a dot configuration corresponding to the rightangled triangle configuration 88 of a reference portion, preferablyclose to the centre of the corresponding image. The image processingdevice then determines the position of the corresponding reference point102 and of the corresponding reference line r from the location of thisconfiguration 88. Optionally, the image processing device looks in afurther step for another dot configuration 88 of an adjacent code in thesame image, preferably along the previously calculated direction of thereference line r. Knowing the relative alignment of the codes printed ina tessellating manner on the container, the image processing devicecorrects or adjusts the previously determined orientation of thereference line r.

The image processing device then determines for each image the positionrelative to the reference line r of each data unit 82 present in theplanform 104 centred on said configuration 88 in order to retrieve theencoded parameter values. The image processing device preferably firstlooks for pairs of data units 82 that are separated from each other by alinear distance of 400 μm and that are equidistant from the referencepoint 102 in order to identify the data units group 820 of the code. Theaverage distance of the data units 82 of each group 820 is then measuredand/or calculated in order to retrieve the corresponding encodedparameter values. The image processing system furthermore determineswhether a data unit 82 is present or not at each discrete position 118,119 of the code, i.e. the image processing device calculates thelocation of the discrete position knowing the position of the referenceunits 86 and of the data unit groups 820, and then searches the imagedata corresponding to each of these locations in order to determinewhether a data unit is present or not. The decoded parameter values andthe information bits corresponding to the discrete positions' data unitsfor each code of each container are then transmitted to the machine'scontainer processing subsystem in order to process the containersaccordingly. If a captured digital image does not encompass any entireplanform of a code, the image processing device reconstructs a planformusing fragments of several neighbouring codes captured in the image.Optionally, the code processing subsystem uses two or more images of thecontainer's surface and processes image data of a plurality of codes inorder to perform error detection and/or correction. The two or moreimages are captured by two or more image capturing devices and/or bymoving an image capturing device relative to the container. Similarly,in the case where parameters for several preparation phases are encodedin several codes, the code processing subsystem uses several images ofthe container's surface in order to obtain at least one image of eachdifferent code.

LIST OF REFERENCES

-   -   2 Beverage or Foodstuff Preparation System    -   4 Beverage or Foodstuff Preparation Machine    -   10 Housing    -   108 Base    -   110 Body    -   14 Container processing subsystem    -   12 Fluid supply    -   20 Reservoir    -   22 Fluid pump    -   24 Fluid thermal exchanger

Embodiment 1

-   -   26 Extraction Unit    -   28 Injection head    -   30 Capsule holder    -   32 Capsule holder loading system    -   34A Capsule insertion channel    -   34B Capsule ejection channel

Embodiment 2

-   -   40 Agitator unit    -   42 Auxiliary product unit    -   44 Thermal exchanger    -   46 Receptacle support    -   16 Control subsystem    -   48 User interface    -   50 Processing subsystem    -   112 Memory subsystem    -   116 Preparation program    -   52 Sensors (temperature, receptacle level, flow rate, torque,        velocity)    -   54 Power supply    -   56 Communication interface    -   18 Code processing subsystem    -   106 Image capturing device    -   92 Image processing device    -   114 Output device    -   6 Container (Capsule/Receptacle/Packet)    -   Capsule/Receptacle    -   58 Body portion    -   60 Lid portion    -   62 Flange portion    -   Packet    -   64 Sheet material    -   66 Internal volume    -   68 Inlet    -   70 Outlet    -   74 Code    -   104 Planform    -   76 Unit    -   78 Data portion    -   90 Encoding area    -   82 Data unit    -   820 Group of data units    -   118, 119 Discrete positions    -   80 Reference portion    -   84 Reference position    -   86 Reference unit    -   88 Configuration    -   102 Reference point

The invention is claimed as follows:
 1. A method of encoding preparationinformation, the method comprising forming a code on: a container for abeverage preparation machine or foodstuff preparation machine, thecontainer for containing beverage or foodstuff material; or anattachment for attachment to the container or to a beverage preparationmachine or foodstuff preparation machine, the method further comprising:arranging at least two reference units to define a virtual referenceline of a reference portion of the code; encoding a value of a parameterof the preparation information with a data portion of the code byarranging a pair of data units on a virtual encoding line thatintersects the virtual reference line at a virtual intersection point,the pair of data units being arranged at a distance extending along thevirtual encoding line from the virtual intersection point, the distanceencoding the value of the parameter of the preparation information,whereby the virtual encoding line is circular or comprises a segment ofa circle and is arranged with a tangent thereto orthogonal the virtualreference line at the virtual intersection point; and at least partiallyencoding further parameters of the preparation information with furtherdata units occupying discrete positions which are arranged on thevirtual encoding line at locations determined relative to the distanceencoding the value of the parameter of the preparation information,wherein the centers of the two data units of the pair of data units areseparated from each other by a distance and wherein the discretepositions are spaced apart from the closest data unit of the pair ofdata units by distances different from the distance between the two dataunits of the pair of data units, wherein: the discrete positions arearranged with a distance between the centers of two adjacent discretepositions, a distance between the center of a discrete position adjacentto the pair of data units and the center of the closest data unit of thepair of data units is equal to the distance between two adjacentdiscrete positions, and the distance between two adjacent discretepositions is not a multiple nor a divisor of the distance between thetwo data units of the pair of data units.